/*                                                              v1.1 31.Dec.08 
  =============================================================================

                          U    U   GGG    SSSS  TTTTT
                          U    U  G       S       T
                          U    U  G  GG   SSSS    T
                          U    U  G   G       S   T
                           UUU     GG     SSS     T

                   ========================================
                    ITU-T - USER'S GROUP ON SOFTWARE TOOLS
                   ========================================

       =============================================================
       COPYRIGHT NOTE: This source code, and all of its derivations,
       is subject to the "ITU-T General Public License". Please have
       it  read  in    the  distribution  disk,   or  in  the  ITU-T
       Recommendation G.191 on "SOFTWARE TOOLS FOR SPEECH AND  AUDIO
       CODING STANDARDS".
       =============================================================

MODULE:         FIRFLT, LOW-PASS FILTERS

ORIGINAL BY:
	Cyril Guillaume and Stephane Ragot
	<stephane.ragot@francetelecom.com>

DESCRIPTION:
        This file contains procedures for low-pass filters with a sampling rate of 48kHz.
	This includes LP filters for the following cut-off frequencies : 3.5kHz, 5kHz, 7kHz, 10kHz.

FUNCTIONS:
  Global (have prototype in firflt.h)
         = LP1p5_48kHz_init()	:  initialize LP 1.5kHz filter 1:1
         = LP35_48kHz_init()	:  initialize LP 3.5kHz filter 1:1
         = LP7_48kHz_init()	:  initialize LP 7kHz filter 1:1
         = LP10_48kHz_init()	:  initialize LP 10kHz filter 1:1
		 = LP12_48kHz_init()	:  initialize LP 12kHz filter 1:1
         = LP14_48kHz_init()	:  initialize LP 14kHz filter 1:1
		 = LP20_48kHz_init()	:  initialize LP 20kHz filter 1:1


  Local (should be used only here -- prototypes only in this file)
         = fill_lp1p5_48kHz(...): filling filter coefficients into
                                   array for LP 1.5kHz filter, factor 1:1         
         = fill_lp35_48kHz(...): filling filter coefficients into
                                   array for LP 3.5kHz filter, factor 1:1
         = fill_lp7_48kHz(...)	: idem, for LP 7kHz, factor 1:1
         = fill_lp10_48kHz(...): idem, for LP 10kHz, factor 1:1
		 = fill_lp12_48kHz(...): idem, for LP 12kHz, factor 1:1
         = fill_lp14_48kHz(...): idem, for LP 14kHz, factor 1:1
         = fill_lp20_48kHz(...): idem, for LP 20kHz, factor 1:1



HISTORY:
    10.Feb.05    v1.0   First beta-version -- Cyril Guillaume & Stephane Ragot <stephane.ragot@francetelecom.com>
    15 May 07    v1.0++ added lp1p5, lp14, lp20 -- L.M.Ericsson
    31.Dec.08  v1.1   added LP filters (12kHz) for fs=48kHz -- Huawei 

  =============================================================================
*/


/*
 * ......... INCLUDES .........
 */
#include <stdio.h>
#ifndef VMS
#include <stdlib.h>		/* General utility definitions */
#endif

#include "firflt.h"		/* Global definitions for FIR-FIR filter */


/*
 * ......... Local function prototypes .........
 */

void fill_LP1p5_48kHz ARGS((float *h0[], long *lenh0));
void fill_LP35_48kHz ARGS((float *h0[], long *lenh0));
void fill_LP7_48kHz ARGS((float **h0, long *lenh0));
void fill_LP10_48kHz ARGS((float **h0, long *lenh0));
void fill_LP14_48kHz ARGS((float **h0, long *lenh0));
void fill_LP20_48kHz ARGS((float **h0, long *lenh0));
// FILTER_12k48k_HW
void fill_LP12_48kHz ARGS((float **h0, long *lenh0));
// FILTER_12k48k_HW


/* 
 * ..... Private function prototypes defined in other sub-unit ..... 
 */
extern SCD_FIR *fir_initialization ARGS((long lenh0, float h0[], double gain, 
                                                 long idwnup, int hswitch));


/*
 * ...................... BEGIN OF FUNCTIONS .........................
 */


/*
  ============================================================================

        SCD_FIR *LP1p5_48kHz_init (void);
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

        Description:
        ~~~~~~~~~~~~

        Initialization routine for low-pass filter with a 
		cut-off frequency of 1.5kHz and a sampling frequency of 48kHz.

        Parameters:  none.
        ~~~~~~~~~~~

        Return value:
        ~~~~~~~~~~~~~
        Returns a pointer to struct SCD_FIR;

        Author: 
        ~~~~~~~

        History:
        ~~~~~~~~
        10.May 07  first version

 ============================================================================
*/
SCD_FIR        *LP1p5_48kHz_init()
{
  float          *h0;		/* pointer to array with FIR coeff. */
  long            lenh0;	/* number of FIR coefficients */


  /* allocate array for FIR coeff. and fill with coefficients */
  fill_LP1p5_48kHz(&h0, &lenh0);

  return
    fir_initialization(		/* Returns: pointer to SCD_FIR-struct */
		       lenh0,	/* In: number of FIR-coefficients */
		       h0,	/* In: pointer to array with FIR-cof. */
		       1.0,	/* In: gain factor for FIR-coeffic. */
		       1l,	/* In: Down-sampling factor */
		       'D'	/* In: switch to down-sampling kernel */
    );
}
/* ..................... End of LP1p5_48kHz_init() ..................... */

/*
  ============================================================================

        SCD_FIR *LP35_48kHz_init (void);
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

        Description:
        ~~~~~~~~~~~~

        Initialization routine for low-pass filter with a 
		cut-off frequency of 3.5kHz and a sampling frequency of 48kHz.

        Parameters:  none.
        ~~~~~~~~~~~

        Return value:
        ~~~~~~~~~~~~~
        Returns a pointer to struct SCD_FIR;

        Author: Cyril Guillaume & Stephane Ragot <stephane.ragot@francetelecom.com>
        ~~~~~~~

        History:
        ~~~~~~~~
        10.Feb.05  v1.0		Release of first version

 ============================================================================
*/
SCD_FIR        *LP35_48kHz_init()
{
  float          *h0;		/* pointer to array with FIR coeff. */
  long            lenh0;	/* number of FIR coefficients */


  /* allocate array for FIR coeff. and fill with coefficients */
  fill_LP35_48kHz(&h0, &lenh0);

  return
    fir_initialization(		/* Returns: pointer to SCD_FIR-struct */
		       lenh0,	/* In: number of FIR-coefficients */
		       h0,	/* In: pointer to array with FIR-cof. */
		       1.0,	/* In: gain factor for FIR-coeffic. */
		       1l,	/* In: Down-sampling factor */
		       'D'	/* In: switch to down-sampling kernel */
    );
}
/* ..................... End of LP35_48kHz_init() ..................... */



/*
  ============================================================================

        SCD_FIR *LP7_48kHz_init (void);
        ~~~~~~~~~~~~~~~~~~~~~~~~~~

        Description:
        ~~~~~~~~~~~~

        Initialization routine for low-pass filter with a 
		cut-off frequency of 7kHz and a sampling frequency of 48kHz.

        Parameters:  none.
        ~~~~~~~~~~~

        Return value:
        ~~~~~~~~~~~~~
        Returns a pointer to struct SCD_FIR;

        Author: Cyril Guillaume & Stephane Ragot <stephane.ragot@francetelecom.com>
        ~~~~~~~

        History:
        ~~~~~~~~
        10.Feb.05  v1.0		Release of first version

  ============================================================================
*/
SCD_FIR        *LP7_48kHz_init()
{
  float          *h0;		/* pointer to array with FIR coeff. */
  long            lenh0;	/* number of FIR coefficients */


  /* allocate array for FIR coeff. and fill with coefficients */
  fill_LP7_48kHz(&h0, &lenh0);

  return
    fir_initialization(		/* Returns: pointer to SCD_FIR-struct */
		       lenh0,	/* In: number of FIR-coefficients */
		       h0,	/* In: pointer to array with FIR-cof. */
		       1.0,	/* In: gain factor for FIR-coeffic. */
		       1l,	/* In: Up-sampling factor */
		       'D'	/* In: Switch to downsampling procedure */
    );
}
/* ..................... End of LP7_48kHz_init() ..................... */

/*
  ============================================================================

        SCD_FIR *LP10_48kHz_init (void);
        ~~~~~~~~~~~~~~~~~~~~~~~~~~

        Description:
        ~~~~~~~~~~~~

        Initialization routine for low-pass filter with a 
		cut-off frequency of 10kHz and a sampling frequency of 48kHz.

        Parameters:  none.
        ~~~~~~~~~~~

        Return value:
        ~~~~~~~~~~~~~
        Returns a pointer to struct SCD_FIR;

        Author: Cyril Guillaume & Stephane Ragot <stephane.ragot@francetelecom.com>
        ~~~~~~~

        History:
        ~~~~~~~~
        10.Feb.05  v1.0		Release of first version

  ============================================================================
*/
SCD_FIR        *LP10_48kHz_init()
{
  float          *h0;		/* pointer to array with FIR coeff. */
  long            lenh0;	/* number of FIR coefficients */


  /* allocate array for FIR coeff. and fill with coefficients */
  fill_LP10_48kHz(&h0, &lenh0);

  return
    fir_initialization(		/* Returns: pointer to SCD_FIR-struct */
		       lenh0,	/* In: number of FIR-coefficients */
		       h0,	/* In: pointer to array with FIR-cof. */
		       1.0,	/* In: gain factor for FIR-coeffic. */
		       1l,	/* In: Up-sampling factor */
		       'D'	/* In: Switch to downsampling procedure */
    );
}
/* ..................... End of LP10_48kHz_init() ..................... */

/*
  ============================================================================

        SCD_FIR *LP14_48kHz_init (void);
        ~~~~~~~~~~~~~~~~~~~~~~~~~~

        Description:
        ~~~~~~~~~~~~

        Initialization routine for low-pass filter with a 
		cut-off frequency of 14kHz and a sampling frequency of 48kHz.

        Parameters:  none.
        ~~~~~~~~~~~

        Return value:
        ~~~~~~~~~~~~~
        Returns a pointer to struct SCD_FIR;

        ~~~~~~~

        History:
        ~~~~~~~~
        11.May.07  first version

  ============================================================================
*/
SCD_FIR        *LP14_48kHz_init()
{
  float          *h0;		/* pointer to array with FIR coeff. */
  long            lenh0;	/* number of FIR coefficients */


  /* allocate array for FIR coeff. and fill with coefficients */
  fill_LP14_48kHz(&h0, &lenh0);

  return
    fir_initialization(		/* Returns: pointer to SCD_FIR-struct */
		       lenh0,	/* In: number of FIR-coefficients */
		       h0,	/* In: pointer to array with FIR-cof. */
		       1.0,	/* In: gain factor for FIR-coeffic. */
		       1l,	/* In: Up-sampling factor */
		       'D'	/* In: Switch to downsampling procedure */
    );
}
/* ..................... End of LP14_48kHz_init() ..................... */

/*
  ============================================================================

        SCD_FIR *LP20_48kHz_init (void);
        ~~~~~~~~~~~~~~~~~~~~~~~~~~

        Description:
        ~~~~~~~~~~~~

        Initialization routine for low-pass filter with a 
		cut-off frequency of 20kHz and a sampling frequency of 48kHz.

        Parameters:  none.
        ~~~~~~~~~~~

        Return value:
        ~~~~~~~~~~~~~
        Returns a pointer to struct SCD_FIR;

        ~~~~~~~

        History:
        ~~~~~~~~
        11.May.07  first version

  ============================================================================
*/
SCD_FIR        *LP20_48kHz_init()
{
  float          *h0;		/* pointer to array with FIR coeff. */
  long            lenh0;	/* number of FIR coefficients */


  /* allocate array for FIR coeff. and fill with coefficients */
  fill_LP20_48kHz(&h0, &lenh0);

  return
    fir_initialization(		/* Returns: pointer to SCD_FIR-struct */
		       lenh0,	/* In: number of FIR-coefficients */
		       h0,	/* In: pointer to array with FIR-cof. */
		       1.0,	/* In: gain factor for FIR-coeffic. */
		       1l,	/* In: Up-sampling factor */
		       'D'	/* In: Switch to downsampling procedure */
    );
}
/* ..................... End of LP20_48kHz_init() ..................... */
// FILTER_12k48k_HW
/*
  ============================================================================

        SCD_FIR *LP12_48kHz_init (void);
        ~~~~~~~~~~~~~~~~~~~~~~~~~~

        Description:
        ~~~~~~~~~~~~

        Initialization routine for low-pass filter with a 
		cut-off frequency of 12kHz and a sampling frequency of 48kHz.

        Parameters:  none.
        ~~~~~~~~~~~

        Return value:
        ~~~~~~~~~~~~~
        Returns a pointer to struct SCD_FIR;

        ~~~~~~~

        History:
        ~~~~~~~~
        31.Dec.08  3nd version sharper

  ============================================================================
*/
SCD_FIR        *LP12_48kHz_init()
{
  float          *h0;		/* pointer to array with FIR coeff. */
  long            lenh0;	/* number of FIR coefficients */


  /* allocate array for FIR coeff. and fill with coefficients */
  fill_LP12_48kHz(&h0, &lenh0);

  return
    fir_initialization(		/* Returns: pointer to SCD_FIR-struct */
		       lenh0,	/* In: number of FIR-coefficients */
		       h0,	/* In: pointer to array with FIR-cof. */
		       1.0,	/* In: gain factor for FIR-coeffic. */
		       1l,	/* In: Up-sampling factor */
		       'D'	/* In: Switch to downsampling procedure */
    );
}
/* ..................... End of LP12_48kHz_init() ..................... */
// FILTER_12k48k_HW

#define F float

/*
  ============================================================================

        void fill_LP1p5_48kHz (float **h0, long *lenh0);
        ~~~~~~~~~~~~~~~~~~~

        Description:
        ~~~~~~~~~~~~

        Initialize pointer to array with FIR coefficients of a low
        pass filter with cut-off frequency 1.5kHz and sampling frequency 48kHz.

        Parameters:
        ~~~~~~~~~~~
        h0:    (Out) pointer to array with FIR coefficients
        lenh0: (Out) pointer to number of coefficients


        Return value:
        ~~~~~~~~~~~~~
        None.

        Author: 
        ~~~~~~~

        History:
        ~~~~~~~~
        11.may.07  1st version

 ============================================================================
*/
#undef LP1p5_48K_LEN
#define LP1p5_48K_LEN 645
void fill_LP1p5_48kHz (h0, lenh0)
float **h0;
long *lenh0;
{
	static float LP1p5_48khz_coeff[LP1p5_48K_LEN] =  {
		(F) 2.43083952e-006 , (F) 2.85128855e-006 , (F) 3.19143482e-006,  (F) 3.41625411e-006,
		(F) 3.49263608e-006 , (F) 3.39160516e-006 , (F) 3.09054349e-006,  (F) 2.57528893e-006,
		(F) 1.84197641e-006 , (F) 8.98494029e-007 , (F) -2.34565517e-007,  (F) -1.52355980e-006,
		(F) -2.92213565e-006 , (F) -4.37229944e-006 , (F) -5.80623059e-006,  (F) -7.14881091e-006,
		(F) -8.32080193e-006 , (F) -9.24256157e-006 , (F) -9.83815378e-006,  (F) -1.00396710e-005,
		(F) -9.79156284e-006 , (F) -9.05474669e-006 , (F) -7.81026708e-006,  (F) -6.06227574e-006,
		(F) -3.84011895e-006 , (F) -1.19934699e-006 , (F) 1.77849961e-006,  (F) 4.98742272e-006,
		(F) 8.29985455e-006 , (F) 1.15708722e-005 , (F) 1.46436417e-005,  (F) 1.73559238e-005,
		(F) 1.95474102e-005 , (F) 2.10675964e-005 , (F) 2.17838500e-005,  (F) 2.15892965e-005,
		(F) 2.04101233e-005 , (F) 1.82119028e-005 , (F) 1.50045502e-005,  (F) 1.08455696e-005,
		(F) 5.84130133e-006 , (F) 1.45954154e-007 , (F) -6.04169971e-006,  (F) -1.24839874e-005,
		(F) -1.89122646e-005 , (F) -2.50369059e-005 , (F) -3.05590362e-005,  (F) -3.51835801e-005,
		(F) -3.86331111e-005 , (F) -4.06619113e-005 , (F) -4.10695973e-005,  (F) -3.97136480e-005,
		(F) -3.65201714e-005 , (F) -3.14922899e-005 , (F) -2.47155863e-005,  (F) -1.63601588e-005,
		(F) -6.67895545e-006 , (F) 3.99778676e-006 , (F) 1.52720066e-005,  (F) 2.66910140e-005,
		(F) 3.77640593e-005 , (F) 4.79817434e-005 , (F) 5.68375662e-005,  (F) 6.38507735e-005,
		(F) 6.85895444e-005 , (F) 7.06934902e-005 , (F) 6.98943981e-005,  (F) 6.60341709e-005,
		(F) 5.90789757e-005 , (F) 4.91287253e-005 , (F) 3.64211760e-005,  (F) 2.13301263e-005,
		(F) 4.35743731e-006 , (F) -1.38811425e-005 , (F) -3.26760859e-005,  (F) -5.12495837e-005,
		(F) -6.87856090e-005 , (F) -8.44634776e-005 , (F) -9.74936103e-005,  (F) -1.07154033e-004,
		(F) -1.12826033e-004 , (F) -1.14027336e-004 , (F) -1.10441186e-004,  (F) -1.01939816e-004,
		(F) -8.86009322e-005 , (F) -7.07161139e-005 , (F) -4.87902842e-005,  (F) -2.35317944e-005,
		(F) 4.16696375e-006 , (F) 3.32580811e-005 , (F) 6.25750295e-005,  (F) 9.08767651e-005,
		(F) 1.16897485e-004 , (F) 1.39400154e-004 , (F) 1.57231648e-004,  (F) 1.69377190e-004,
		(F) 1.75011647e-004 , (F) 1.73545276e-004 , (F) 1.64661645e-004,  (F) 1.48345647e-004,
		(F) 1.24899890e-004 , (F) 9.49481396e-005 , (F) 5.94250238e-005,  (F) 1.95517387e-005,
		(F) -2.32018802e-005 , (F) -6.71679566e-005 , (F) -1.10542269e-004,  (F) -1.51454910e-004,
		(F) -1.88047286e-004 , (F) -2.18552421e-004 , (F) -2.41375245e-004,  (F) -2.55169387e-004,
		(F) -2.58906982e-004 , (F) -2.51938127e-004 , (F) -2.34036940e-004,  (F) -2.05431570e-004,
		(F) -1.66816135e-004 , (F) -1.19343200e-004 , (F) -6.45962304e-005,  (F) -4.54226576e-006,
		(F) 5.85340513e-005 , (F) 1.22113112e-004 , (F) 1.83536847e-004,  (F) 2.40115582e-004,
		(F) 2.89241115e-004 , (F) 3.28501446e-004 , (F) 3.55792289e-004,  (F) 3.69420456e-004,
		(F) 3.68194308e-004 , (F) 3.51496815e-004 , (F) 3.19337347e-004,  (F) 2.72379031e-004,
		(F) 2.11939444e-004 , (F) 1.39963453e-004 , (F) 5.89681632e-005,  (F) -2.80388761e-005,
		(F) -1.17665855e-004 , (F) -2.06263783e-004 , (F) -2.90069929e-004,  (F) -3.65362191e-004,
		(F) -4.28618272e-004 , (F) -4.76673085e-004 , (F) -5.06867599e-004,  (F) -5.17182436e-004,
		(F) -5.06349911e-004 , (F) -4.73938838e-004 , (F) -4.20407403e-004,  (F) -3.47120542e-004,
		(F) -2.56329635e-004 , (F) -1.51113867e-004 , (F) -3.52841855e-005,  (F) 8.67475687e-005,
		(F) 2.10130195e-004 , (F) 3.29759713e-004 , (F) 4.40484077e-004,  (F) 5.37318056e-004,
		(F) 6.15659606e-004 , (F) 6.71498606e-004 , (F) 7.01608854e-004,  (F) 7.03714526e-004,
		(F) 6.76623094e-004 , (F) 6.20317765e-004 , (F) 5.36003993e-004,  (F) 4.26106325e-004,
		(F) 2.94213818e-004 , (F) 1.44974371e-004 , (F) -1.60595235e-005,  (F) -1.82628937e-004,
		(F) -3.48003881e-004 , (F) -5.05247385e-004 , (F) -6.47498241e-004,  (F) -7.68261199e-004,
		(F) -8.61692683e-004 , (F) -9.22869854e-004 , (F) -9.48031073e-004,  (F) -9.34776614e-004,
		(F) -8.82219728e-004 , (F) -7.91079879e-004 , (F) -6.63712149e-004,  (F) -5.04069213e-004,
		(F) -3.17595055e-004 , (F) -1.11052390e-004 , (F) 1.07711373e-004,  (F) 3.30052031e-004,
		(F) 5.46860233e-004 , (F) 7.48924564e-004 , (F) 9.27311978e-004,  (F) 1.07375030e-003,
		(F) 1.18099688e-003 , (F) 1.24317742e-003 , (F) 1.25607991e-003,  (F) 1.21738963e-003,
		(F) 1.12685345e-003 , (F) 9.86363982e-004 , (F) 7.99957372e-004,  (F) 5.73721656e-004,
		(F) 3.15616481e-004 , (F) 3.52085431e-005 , (F) -2.56669151e-004,  (F) -5.48322669e-004,
		(F) -8.27652561e-004 , (F) -1.08264206e-003 , (F) -1.30185894e-003,  (F) -1.47495056e-003,
		(F) -1.59311144e-003 , (F) -1.64950277e-003 , (F) -1.63960500e-003,  (F) -1.56148645e-003,
		(F) -1.41597388e-003 , (F) -1.20671470e-003 , (F) -9.40124453e-004,  (F) -6.25217741e-004,
		(F) -2.73325787e-004 , (F) 1.02291729e-004 , (F) 4.86928011e-004,  (F) 8.64986983e-004,
		(F) 1.22059716e-003 , (F) 1.53825810e-003 , (F) 1.80349387e-003,  (F) 2.00348676e-003,
		(F) 2.12766445e-003 , (F) 2.16821486e-003 , (F) 2.12050493e-003,  (F) 1.98338286e-003,
		(F) 1.75934736e-003 , (F) 1.45457247e-003 , (F) 1.07878189e-003,  (F) 6.44972989e-004,
		(F) 1.68996563e-004 , (F) -3.30995256e-004 , (F) -8.35214837e-004,  (F) -1.32299522e-003,
		(F) -1.77360873e-003 , (F) -2.16711670e-003 , (F) -2.48521653e-003,  (F) -2.71205147e-003,
		(F) -2.83494864e-003 , (F) -2.84505277e-003 , (F) -2.73782621e-003,  (F) -2.51339009e-003,
		(F) -2.17668741e-003 , (F) -1.73745506e-003 , (F) -1.20999937e-003,  (F) -6.12777432e-004,
		(F) 3.22056523e-005 , (F) 7.00165540e-004 , (F) 1.36444818e-003,  (F) 1.99754824e-003,
		(F) 2.57219911e-003 , (F) 3.06249302e-003 , (F) 3.44498710e-003,  (F) 3.69975044e-003,
		(F) 3.81130780e-003 , (F) 3.76943836e-003 , (F) 3.56979223e-003,  (F) 3.21429350e-003,
		(F) 2.71130580e-003 , (F) 2.07554523e-003 , (F) 1.32773481e-003,  (F) 4.94004864e-004,
		(F) -3.94946438e-004 , (F) -1.30490762e-003 , (F) -2.19938994e-003,  (F) -3.04100280e-003,
		(F) -3.79291929e-003 , (F) -4.42037776e-003 , (F) -4.89216159e-003,  (F) -5.18199837e-003,
		(F) -5.26982066e-003 , (F) -5.14283379e-003 , (F) -4.79634184e-003,  (F) -4.23429016e-003,
		(F) -3.46949266e-003 , (F) -2.52352269e-003 , (F) -1.42625843e-003,  (F) -2.15086866e-004,
		(F) 1.06621698e-003 , (F) 2.36890573e-003 , (F) 3.64092835e-003,  (F) 4.82879906e-003,
		(F) 5.87960439e-003 , (F) 6.74307903e-003 , (F) 7.37367607e-003,  (F) 7.73255518e-003,
		(F) 7.78941261e-003 , (F) 7.52408001e-003 , (F) 6.92782537e-003,  (F) 6.00429782e-003,
		(F) 4.77006913e-003 , (F) 3.25473773e-003 , (F) 1.50057557e-003,  (F) -4.38285852e-004,
		(F) -2.49711812e-003 , (F) -4.60227859e-003 , (F) -6.67326880e-003,  (F) -8.62511028e-003,
		(F) -1.03709662e-002 , (F) -1.18249273e-002 , (F) -1.29048725e-002,  (F) -1.35353098e-002,
		(F) -1.36501016e-002 , (F) -1.31949790e-002 , (F) -1.21297576e-002,  (F) -1.04301718e-002,
		(F) -8.08925778e-003 , (F) -5.11822990e-003 , (F) -1.54680851e-003,  (F) 2.57702270e-003,
		(F) 7.18783441e-003 , (F) 1.22041298e-002 , (F) 1.75302493e-002,  (F) 2.30587505e-002,
		(F) 2.86731959e-002 , (F) 3.42512651e-002 , (F) 3.96680987e-002,  (F) 4.47997717e-002,
		(F) 4.95267868e-002 , (F) 5.37374805e-002 , (F) 5.73312330e-002,  (F) 6.02213807e-002,
		(F) 6.23377381e-002 , (F) 6.36286490e-002 , (F) 6.40625000e-002,  (F) 6.36286490e-002,
		(F) 6.23377381e-002 , (F) 6.02213807e-002 , (F) 5.73312330e-002,  (F) 5.37374805e-002,
		(F) 4.95267868e-002 , (F) 4.47997717e-002 , (F) 3.96680987e-002,  (F) 3.42512651e-002,
		(F) 2.86731959e-002 , (F) 2.30587505e-002 , (F) 1.75302493e-002,  (F) 1.22041298e-002,
		(F) 7.18783441e-003 , (F) 2.57702270e-003 , (F) -1.54680851e-003,  (F) -5.11822990e-003,
		(F) -8.08925778e-003 , (F) -1.04301718e-002 , (F) -1.21297576e-002,  (F) -1.31949790e-002,
		(F) -1.36501016e-002 , (F) -1.35353098e-002 , (F) -1.29048725e-002,  (F) -1.18249273e-002,
		(F) -1.03709662e-002 , (F) -8.62511028e-003 , (F) -6.67326880e-003,  (F) -4.60227859e-003,
		(F) -2.49711812e-003 , (F) -4.38285852e-004 , (F) 1.50057557e-003,  (F) 3.25473773e-003,
		(F) 4.77006913e-003 , (F) 6.00429782e-003 , (F) 6.92782537e-003,  (F) 7.52408001e-003,
		(F) 7.78941261e-003 , (F) 7.73255518e-003 , (F) 7.37367607e-003,  (F) 6.74307903e-003,
		(F) 5.87960439e-003 , (F) 4.82879906e-003 , (F) 3.64092835e-003,  (F) 2.36890573e-003,
		(F) 1.06621698e-003 , (F) -2.15086866e-004 , (F) -1.42625843e-003,  (F) -2.52352269e-003,
		(F) -3.46949266e-003 , (F) -4.23429016e-003 , (F) -4.79634184e-003,  (F) -5.14283379e-003,
		(F) -5.26982066e-003 , (F) -5.18199837e-003 , (F) -4.89216159e-003,  (F) -4.42037776e-003,
		(F) -3.79291929e-003 , (F) -3.04100280e-003 , (F) -2.19938994e-003,  (F) -1.30490762e-003,
		(F) -3.94946438e-004 , (F) 4.94004864e-004 , (F) 1.32773481e-003,  (F) 2.07554523e-003,
		(F) 2.71130580e-003 , (F) 3.21429350e-003 , (F) 3.56979223e-003,  (F) 3.76943836e-003,
		(F) 3.81130780e-003 , (F) 3.69975044e-003 , (F) 3.44498710e-003,  (F) 3.06249302e-003,
		(F) 2.57219911e-003 , (F) 1.99754824e-003 , (F) 1.36444818e-003,  (F) 7.00165540e-004,
		(F) 3.22056523e-005 , (F) -6.12777432e-004 , (F) -1.20999937e-003,  (F) -1.73745506e-003,
		(F) -2.17668741e-003 , (F) -2.51339009e-003 , (F) -2.73782621e-003,  (F) -2.84505277e-003,
		(F) -2.83494864e-003 , (F) -2.71205147e-003 , (F) -2.48521653e-003,  (F) -2.16711670e-003,
		(F) -1.77360873e-003 , (F) -1.32299522e-003 , (F) -8.35214837e-004,  (F) -3.30995256e-004,
		(F) 1.68996563e-004 , (F) 6.44972989e-004 , (F) 1.07878189e-003,  (F) 1.45457247e-003,
		(F) 1.75934736e-003 , (F) 1.98338286e-003 , (F) 2.12050493e-003,  (F) 2.16821486e-003,
		(F) 2.12766445e-003 , (F) 2.00348676e-003 , (F) 1.80349387e-003,  (F) 1.53825810e-003,
		(F) 1.22059716e-003 , (F) 8.64986983e-004 , (F) 4.86928011e-004,  (F) 1.02291729e-004,
		(F) -2.73325787e-004 , (F) -6.25217741e-004 , (F) -9.40124453e-004,  (F) -1.20671470e-003,
		(F) -1.41597388e-003 , (F) -1.56148645e-003 , (F) -1.63960500e-003,  (F) -1.64950277e-003,
		(F) -1.59311144e-003 , (F) -1.47495056e-003 , (F) -1.30185894e-003,  (F) -1.08264206e-003,
		(F) -8.27652561e-004 , (F) -5.48322669e-004 , (F) -2.56669151e-004,  (F) 3.52085431e-005,
		(F) 3.15616481e-004 , (F) 5.73721656e-004 , (F) 7.99957372e-004,  (F) 9.86363982e-004,
		(F) 1.12685345e-003 , (F) 1.21738963e-003 , (F) 1.25607991e-003,  (F) 1.24317742e-003,
		(F) 1.18099688e-003 , (F) 1.07375030e-003 , (F) 9.27311978e-004,  (F) 7.48924564e-004,
		(F) 5.46860233e-004 , (F) 3.30052031e-004 , (F) 1.07711373e-004,  (F) -1.11052390e-004,
		(F) -3.17595055e-004 , (F) -5.04069213e-004 , (F) -6.63712149e-004,  (F) -7.91079879e-004,
		(F) -8.82219728e-004 , (F) -9.34776614e-004 , (F) -9.48031073e-004,  (F) -9.22869854e-004,
		(F) -8.61692683e-004 , (F) -7.68261199e-004 , (F) -6.47498241e-004,  (F) -5.05247385e-004,
		(F) -3.48003881e-004 , (F) -1.82628937e-004 , (F) -1.60595235e-005,  (F) 1.44974371e-004,
		(F) 2.94213818e-004 , (F) 4.26106325e-004 , (F) 5.36003993e-004,  (F) 6.20317765e-004,
		(F) 6.76623094e-004 , (F) 7.03714526e-004 , (F) 7.01608854e-004,  (F) 6.71498606e-004,
		(F) 6.15659606e-004 , (F) 5.37318056e-004 , (F) 4.40484077e-004,  (F) 3.29759713e-004,
		(F) 2.10130195e-004 , (F) 8.67475687e-005 , (F) -3.52841855e-005,  (F) -1.51113867e-004,
		(F) -2.56329635e-004 , (F) -3.47120542e-004 , (F) -4.20407403e-004,  (F) -4.73938838e-004,
		(F) -5.06349911e-004 , (F) -5.17182436e-004 , (F) -5.06867599e-004,  (F) -4.76673085e-004,
		(F) -4.28618272e-004 , (F) -3.65362191e-004 , (F) -2.90069929e-004,  (F) -2.06263783e-004,
		(F) -1.17665855e-004 , (F) -2.80388761e-005 , (F) 5.89681632e-005,  (F) 1.39963453e-004,
		(F) 2.11939444e-004 , (F) 2.72379031e-004 , (F) 3.19337347e-004,  (F) 3.51496815e-004,
		(F) 3.68194308e-004 , (F) 3.69420456e-004 , (F) 3.55792289e-004,  (F) 3.28501446e-004,
		(F) 2.89241115e-004 , (F) 2.40115582e-004 , (F) 1.83536847e-004,  (F) 1.22113112e-004,
		(F) 5.85340513e-005 , (F) -4.54226576e-006 , (F) -6.45962304e-005,  (F) -1.19343200e-004,
		(F) -1.66816135e-004 , (F) -2.05431570e-004 , (F) -2.34036940e-004,  (F) -2.51938127e-004,
		(F) -2.58906982e-004 , (F) -2.55169387e-004 , (F) -2.41375245e-004,  (F) -2.18552421e-004,
		(F) -1.88047286e-004 , (F) -1.51454910e-004 , (F) -1.10542269e-004,  (F) -6.71679566e-005,
		(F) -2.32018802e-005 , (F) 1.95517387e-005 , (F) 5.94250238e-005,  (F) 9.49481396e-005,
		(F) 1.24899890e-004 , (F) 1.48345647e-004 , (F) 1.64661645e-004,  (F) 1.73545276e-004,
		(F) 1.75011647e-004 , (F) 1.69377190e-004 , (F) 1.57231648e-004,  (F) 1.39400154e-004,
		(F) 1.16897485e-004 , (F) 9.08767651e-005 , (F) 6.25750295e-005,  (F) 3.32580811e-005,
		(F) 4.16696375e-006 , (F) -2.35317944e-005 , (F) -4.87902842e-005,  (F) -7.07161139e-005,
		(F) -8.86009322e-005 , (F) -1.01939816e-004 , (F) -1.10441186e-004,  (F) -1.14027336e-004,
		(F) -1.12826033e-004 , (F) -1.07154033e-004 , (F) -9.74936103e-005,  (F) -8.44634776e-005,
		(F) -6.87856090e-005 , (F) -5.12495837e-005 , (F) -3.26760859e-005,  (F) -1.38811425e-005,
		(F) 4.35743731e-006 , (F) 2.13301263e-005 , (F) 3.64211760e-005,  (F) 4.91287253e-005,
		(F) 5.90789757e-005 , (F) 6.60341709e-005 , (F) 6.98943981e-005,  (F) 7.06934902e-005,
		(F) 6.85895444e-005 , (F) 6.38507735e-005 , (F) 5.68375662e-005,  (F) 4.79817434e-005,
		(F) 3.77640593e-005 , (F) 2.66910140e-005 , (F) 1.52720066e-005,  (F) 3.99778676e-006,
		(F) -6.67895545e-006 , (F) -1.63601588e-005 , (F) -2.47155863e-005,  (F) -3.14922899e-005,
		(F) -3.65201714e-005 , (F) -3.97136480e-005 , (F) -4.10695973e-005,  (F) -4.06619113e-005,
		(F) -3.86331111e-005 , (F) -3.51835801e-005 , (F) -3.05590362e-005,  (F) -2.50369059e-005,
		(F) -1.89122646e-005 , (F) -1.24839874e-005 , (F) -6.04169971e-006,  (F) 1.45954154e-007,
		(F) 5.84130133e-006 , (F) 1.08455696e-005 , (F) 1.50045502e-005,  (F) 1.82119028e-005,
		(F) 2.04101233e-005 , (F) 2.15892965e-005 , (F) 2.17838500e-005,  (F) 2.10675964e-005,
		(F) 1.95474102e-005 , (F) 1.73559238e-005 , (F) 1.46436417e-005,  (F) 1.15708722e-005,
		(F) 8.29985455e-006 , (F) 4.98742272e-006 , (F) 1.77849961e-006,  (F) -1.19934699e-006,
		(F) -3.84011895e-006 , (F) -6.06227574e-006 , (F) -7.81026708e-006,  (F) -9.05474669e-006,
		(F) -9.79156284e-006 , (F) -1.00396710e-005 , (F) -9.83815378e-006,  (F) -9.24256157e-006,
		(F) -8.32080193e-006 , (F) -7.14881091e-006 , (F) -5.80623059e-006,  (F) -4.37229944e-006,
		(F) -2.92213565e-006 , (F) -1.52355980e-006 , (F) -2.34565517e-007,  (F) 8.98494029e-007,
		(F) 1.84197641e-006 , (F) 2.57528893e-006 , (F) 3.09054349e-006,  (F) 3.39160516e-006,
		(F) 3.49263608e-006 , (F) 3.41625411e-006 , (F) 3.19143482e-006,  (F) 2.85128855e-006,
		(F) 2.43083952e-006
	};

  *lenh0 = LP1p5_48K_LEN;           /* store 'number of coefficients' */
  *h0 = LP1p5_48khz_coeff;		/* store pointer to []-array */
}
#undef LP1p5_48K_LEN
/* ...................... End of fill_LP1p5_48kHz() ..................... */




#undef LP35_48K_LEN
#define LP35_48K_LEN 465
void fill_LP35_48kHz (h0, lenh0)
float **h0;
long *lenh0;
{
  static float LP35_48khz_coeff[LP35_48K_LEN] =  {
	(F) 3.0753241e-006 ,		(F) 2.1177922e-006 ,		(F) 3.1038207e-007 ,		(F) -2.0761133e-006 ,		
	(F) -4.5436845e-006 ,		(F) -6.4566332e-006 ,		(F) -7.1868762e-006 ,		(F) -6.2850774e-006 ,		
	(F) -3.6356811e-006 ,		(F) 4.4857083e-007 ,		(F) 5.2280356e-006 ,		(F) 9.6491112e-006 ,		
	(F) 1.2557529e-005 ,		(F) 1.2972965e-005 ,		(F) 1.0364208e-005 ,		(F) 4.8549012e-006 ,		
	(F) -2.7026461e-006 ,		(F) -1.0823761e-005 ,		(F) -1.7658571e-005 ,		(F) -2.1388180e-005 ,		
	(F) -2.0670126e-005 ,		(F) -1.5030440e-005 ,		(F) -5.0991282e-006 ,		(F) 7.3891899e-006 ,		
	(F) 1.9860460e-005 ,		(F) 2.9402393e-005 ,		(F) 3.3410960e-005 ,		(F) 3.0245186e-005 ,		
	(F) 1.9734613e-005 ,		(F) 3.4006004e-006 ,		(F) -1.5695320e-005 ,		(F) -3.3483882e-005 ,		
	(F) -4.5719508e-005 ,		(F) -4.8948700e-005 ,		(F) -4.1402934e-005 ,		(F) -2.3598031e-005 ,		
	(F) 1.5325630e-006 ,		(F) 2.9052077e-005 ,		(F) 5.2944010e-005 ,		(F) 6.7383510e-005 ,		
	(F) 6.8097158e-005 ,		(F) 5.3504670e-005 ,		(F) 2.5355992e-005 ,		(F) -1.1334073e-005 ,		
	(F) -4.9108060e-005 ,		(F) -7.9529233e-005 ,		(F) -9.5011193e-005 ,		(F) -9.0628052e-005 ,		
	(F) -6.5487727e-005 ,		(F) -2.3312721e-005 ,		(F) 2.7977749e-005 ,		(F) 7.7679880e-005 ,		
	(F) 1.1447885e-004 ,		(F) 1.2895591e-004 ,		(F) 1.1588700e-004 ,		(F) 7.5791371e-005 ,		
	(F) 1.5312880e-005 ,		(F) -5.3752613e-005 ,		(F) -1.1667801e-004 ,		(F) -1.5887513e-004 ,		
	(F) -1.6918939e-004 ,		(F) -1.4269162e-004 ,		(F) -8.2294672e-005 ,		(F) 1.2656603e-006 ,		
	(F) 9.1212150e-005 ,		(F) 1.6800805e-004 ,		(F) 2.1351766e-004 ,		(F) 2.1517683e-004 ,		
	(F) 1.6923549e-004 ,		(F) 8.2271727e-005 ,		(F) -2.9494065e-005 ,		(F) -1.4309654e-004 ,		
	(F) -2.3344903e-004 ,		(F) -2.7878398e-004 ,		(F) -2.6575078e-004 ,		(F) -1.9300383e-004 ,		
	(F) -7.2368801e-005 ,		(F) 7.2847512e-005 ,		(F) 2.1222845e-004 ,		(F) 3.1451206e-004 ,		
	(F) 3.5448194e-004 ,		(F) 3.1898981e-004 ,		(F) 2.1070599e-004 ,		(F) 4.8606605e-005 ,		
	(F) -1.3513247e-004 ,		(F) -3.0138478e-004 ,		(F) -4.1228405e-004 ,		(F) -4.3969945e-004 ,		
	(F) -3.7210762e-004 ,		(F) -2.1822873e-004 ,		(F) -6.4089182e-006 ,		(F) 2.2038809e-004 ,		
	(F) 4.1314888e-004 ,		(F) 5.2726260e-004 ,		(F) 5.3265788e-004 ,		(F) 4.2135699e-004 ,		
	(F) 2.1061220e-004 ,		(F) -5.9343806e-005 ,		(F) -3.3276611e-004 ,		(F) -5.4974961e-004 ,		
	(F) -6.5918865e-004 ,		(F) -6.3057431e-004 ,		(F) -4.6195133e-004 ,		(F) -1.8204740e-004 ,		
	(F) 1.5424054e-004 ,		(F) 4.7639638e-004 ,		(F) 7.1289501e-004 ,		(F) 8.0688365e-004 ,		
	(F) 7.2953638e-004 ,		(F) 4.8800288e-004 ,		(F) 1.2588998e-004 ,		(F) -2.8425411e-004 ,		
	(F) -6.5524835e-004 ,		(F) -9.0361010e-004 ,		(F) -9.6809704e-004 ,		(F) -8.2439001e-004 ,		
	(F) -4.9247221e-004 ,		(F) -3.4679801e-005 ,		(F) 4.5565768e-004 ,		(F) 8.7300187e-004 ,		
	(F) 1.1220885e-003 ,		(F) 1.1393675e-003 ,		(F) 9.0863567e-004 ,		(F) 4.6711669e-004 ,		
	(F) -9.9851864e-005 ,		(F) -6.7496318e-004 ,		(F) -1.1329447e-003 ,		(F) -1.3675680e-003 ,		
	(F) -1.3158978e-003 ,		(F) -9.7432097e-004 ,		(F) -4.0241557e-004 ,		(F) 2.8681597e-004 ,		
	(F) 9.4891040e-004 ,		(F) 1.4379190e-003 ,		(F) 1.6382403e-003 ,		(F) 1.4914358e-003 ,		
	(F) 1.0119060e-003 ,		(F) 2.8743430e-004 ,		(F) -5.3628423e-004 ,		(F) -1.2845485e-003 ,		
	(F) -1.7903457e-003 ,		(F) -1.9312021e-003 ,		(F) -1.6581456e-003 ,		(F) -1.0100591e-003 ,		
	(F) -1.0956705e-004 ,		(F) 8.5956152e-004 ,		(F) 1.6894717e-003 ,		(F) 2.1923671e-003 ,		
	(F) 2.2424551e-003 ,		(F) 1.8064339e-003 ,		(F) 9.5531015e-004 ,		(F) -1.4594406e-004 ,		
	(F) -1.2697236e-003 ,		(F) -2.1723082e-003 ,		(F) -2.6461701e-003 ,		(F) -2.5669587e-003 ,		
	(F) -1.9246689e-003 ,		(F) -8.3143493e-004 ,		(F) 4.9688583e-004 ,		(F) 1.7826087e-003 ,		
	(F) 2.7436259e-003 ,		(F) 3.1545873e-003 ,		(F) 2.8987369e-003 ,		(F) 1.9986772e-003 ,		
	(F) 6.1834270e-004 ,		(F) -9.6565705e-004 ,		(F) -2.4186012e-003 ,		(F) -3.4175521e-003 ,		
	(F) -3.7221576e-003 ,		(F) -3.2310371e-003 ,		(F) -2.0107993e-003 ,		(F) -2.9003689e-004 ,		
	(F) 1.5821458e-003 ,		(F) 3.2058535e-003 ,		(F) 4.2146760e-003 ,		(F) 4.3569916e-003 ,		
	(F) 3.5565365e-003 ,		(F) 1.9380685e-003 ,		(F) -1.8921585e-004 ,		(F) -2.3890969e-003 ,		
	(F) -4.1862755e-003 ,		(F) -5.1674209e-003 ,		(F) -5.0741738e-003 ,		(F) -3.8675880e-003 ,		
	(F) -1.7485799e-003 ,		(F) 8.7238961e-004 ,		(F) 3.4526045e-003 ,		(F) 5.4272586e-003 ,		
	(F) 6.3305707e-003 ,		(F) 5.9023837e-003 ,		(F) 4.1564948e-003 ,		(F) 1.3938541e-003 ,		
	(F) -1.8453711e-003 ,		(F) -4.8841284e-003 ,		(F) -7.0464607e-003 ,		(F) -7.8036944e-003 ,		
	(F) -6.8980407e-003 ,		(F) -4.4158007e-003 ,		(F) -7.9141052e-004 ,		(F) 3.2628984e-003 ,		
	(F) 6.8916119e-003 ,		(F) 9.2702023e-003 ,		(F) 9.7848037e-003 ,		(F) 8.1796034e-003 ,		
	(F) 4.6385835e-003 ,		(F) -2.2020968e-004 ,		(F) -5.4428970e-003 ,		(F) -9.9166293e-003 ,		
	(F) -1.2593964e-002 ,		(F) -1.2721660e-002 ,		(F) -1.0026829e-002 ,		(F) -4.8187344e-003 ,		
	(F) 2.0214098e-003 ,		(F) 9.1696898e-003 ,		(F) 1.5091585e-002 ,		(F) 1.8339101e-002 ,		
	(F) 1.7859629e-002 ,		(F) 1.3257124e-002 ,		(F) 4.9512108e-003 ,		(F) -5.8043921e-003 ,		
	(F) -1.7058749e-002 ,		(F) -2.6442354e-002 ,		(F) -3.1546941e-002 ,		(F) -3.0344898e-002 ,		
	(F) -2.1576128e-002 ,		(F) -5.0322490e-003 ,		(F) 1.8317063e-002 ,		(F) 4.6385457e-002 ,		
	(F) 7.6217263e-002 ,		(F) 1.0438683e-001 ,		(F) 1.2748873e-001 ,		(F) 1.4264059e-001 ,		
	(F) 1.4791667e-001 ,		(F) 1.4264059e-001 ,		(F) 1.2748873e-001 ,		(F) 1.0438683e-001 ,		
	(F) 7.6217263e-002 ,		(F) 4.6385457e-002 ,		(F) 1.8317063e-002 ,		(F) -5.0322490e-003 ,		
	(F) -2.1576128e-002 ,		(F) -3.0344898e-002 ,		(F) -3.1546941e-002 ,		(F) -2.6442354e-002 ,		
	(F) -1.7058749e-002 ,		(F) -5.8043921e-003 ,		(F) 4.9512108e-003 ,		(F) 1.3257124e-002 ,		
	(F) 1.7859629e-002 ,		(F) 1.8339101e-002 ,		(F) 1.5091585e-002 ,		(F) 9.1696898e-003 ,		
	(F) 2.0214098e-003 ,		(F) -4.8187344e-003 ,		(F) -1.0026829e-002 ,		(F) -1.2721660e-002 ,		
	(F) -1.2593964e-002 ,		(F) -9.9166293e-003 ,		(F) -5.4428970e-003 ,		(F) -2.2020968e-004 ,		
	(F) 4.6385835e-003 ,		(F) 8.1796034e-003 ,		(F) 9.7848037e-003 ,		(F) 9.2702023e-003 ,		
	(F) 6.8916119e-003 ,		(F) 3.2628984e-003 ,		(F) -7.9141052e-004 ,		(F) -4.4158007e-003 ,		
	(F) -6.8980407e-003 ,		(F) -7.8036944e-003 ,		(F) -7.0464607e-003 ,		(F) -4.8841284e-003 ,		
	(F) -1.8453711e-003 ,		(F) 1.3938541e-003 ,		(F) 4.1564948e-003 ,		(F) 5.9023837e-003 ,		
	(F) 6.3305707e-003 ,		(F) 5.4272586e-003 ,		(F) 3.4526045e-003 ,		(F) 8.7238961e-004 ,		
	(F) -1.7485799e-003 ,		(F) -3.8675880e-003 ,		(F) -5.0741738e-003 ,		(F) -5.1674209e-003 ,		
	(F) -4.1862755e-003 ,		(F) -2.3890969e-003 ,		(F) -1.8921585e-004 ,		(F) 1.9380685e-003 ,		
	(F) 3.5565365e-003 ,		(F) 4.3569916e-003 ,		(F) 4.2146760e-003 ,		(F) 3.2058535e-003 ,		
	(F) 1.5821458e-003 ,		(F) -2.9003689e-004 ,		(F) -2.0107993e-003 ,		(F) -3.2310371e-003 ,		
	(F) -3.7221576e-003 ,		(F) -3.4175521e-003 ,		(F) -2.4186012e-003 ,		(F) -9.6565705e-004 ,		
	(F) 6.1834270e-004 ,		(F) 1.9986772e-003 ,		(F) 2.8987369e-003 ,		(F) 3.1545873e-003 ,		
	(F) 2.7436259e-003 ,		(F) 1.7826087e-003 ,		(F) 4.9688583e-004 ,		(F) -8.3143493e-004 ,		
	(F) -1.9246689e-003 ,		(F) -2.5669587e-003 ,		(F) -2.6461701e-003 ,		(F) -2.1723082e-003 ,		
	(F) -1.2697236e-003 ,		(F) -1.4594406e-004 ,		(F) 9.5531015e-004 ,		(F) 1.8064339e-003 ,		
	(F) 2.2424551e-003 ,		(F) 2.1923671e-003 ,		(F) 1.6894717e-003 ,		(F) 8.5956152e-004 ,		
	(F) -1.0956705e-004 ,		(F) -1.0100591e-003 ,		(F) -1.6581456e-003 ,		(F) -1.9312021e-003 ,		
	(F) -1.7903457e-003 ,		(F) -1.2845485e-003 ,		(F) -5.3628423e-004 ,		(F) 2.8743430e-004 ,		
	(F) 1.0119060e-003 ,		(F) 1.4914358e-003 ,		(F) 1.6382403e-003 ,		(F) 1.4379190e-003 ,		
	(F) 9.4891040e-004 ,		(F) 2.8681597e-004 ,		(F) -4.0241557e-004 ,		(F) -9.7432097e-004 ,		
	(F) -1.3158978e-003 ,		(F) -1.3675680e-003 ,		(F) -1.1329447e-003 ,		(F) -6.7496318e-004 ,		
	(F) -9.9851864e-005 ,		(F) 4.6711669e-004 ,		(F) 9.0863567e-004 ,		(F) 1.1393675e-003 ,		
	(F) 1.1220885e-003 ,		(F) 8.7300187e-004 ,		(F) 4.5565768e-004 ,		(F) -3.4679801e-005 ,		
	(F) -4.9247221e-004 ,		(F) -8.2439001e-004 ,		(F) -9.6809704e-004 ,		(F) -9.0361010e-004 ,		
	(F) -6.5524835e-004 ,		(F) -2.8425411e-004 ,		(F) 1.2588998e-004 ,		(F) 4.8800288e-004 ,		
	(F) 7.2953638e-004 ,		(F) 8.0688365e-004 ,		(F) 7.1289501e-004 ,		(F) 4.7639638e-004 ,		
	(F) 1.5424054e-004 ,		(F) -1.8204740e-004 ,		(F) -4.6195133e-004 ,		(F) -6.3057431e-004 ,		
	(F) -6.5918865e-004 ,		(F) -5.4974961e-004 ,		(F) -3.3276611e-004 ,		(F) -5.9343806e-005 ,		
	(F) 2.1061220e-004 ,		(F) 4.2135699e-004 ,		(F) 5.3265788e-004 ,		(F) 5.2726260e-004 ,		
	(F) 4.1314888e-004 ,		(F) 2.2038809e-004 ,		(F) -6.4089182e-006 ,		(F) -2.1822873e-004 ,		
	(F) -3.7210762e-004 ,		(F) -4.3969945e-004 ,		(F) -4.1228405e-004 ,		(F) -3.0138478e-004 ,		
	(F) -1.3513247e-004 ,		(F) 4.8606605e-005 ,		(F) 2.1070599e-004 ,		(F) 3.1898981e-004 ,		
	(F) 3.5448194e-004 ,		(F) 3.1451206e-004 ,		(F) 2.1222845e-004 ,		(F) 7.2847512e-005 ,		
	(F) -7.2368801e-005 ,		(F) -1.9300383e-004 ,		(F) -2.6575078e-004 ,		(F) -2.7878398e-004 ,		
	(F) -2.3344903e-004 ,		(F) -1.4309654e-004 ,		(F) -2.9494065e-005 ,		(F) 8.2271727e-005 ,		
	(F) 1.6923549e-004 ,		(F) 2.1517683e-004 ,		(F) 2.1351766e-004 ,		(F) 1.6800805e-004 ,		
	(F) 9.1212150e-005 ,		(F) 1.2656603e-006 ,		(F) -8.2294672e-005 ,		(F) -1.4269162e-004 ,		
	(F) -1.6918939e-004 ,		(F) -1.5887513e-004 ,		(F) -1.1667801e-004 ,		(F) -5.3752613e-005 ,		
	(F) 1.5312880e-005 ,		(F) 7.5791371e-005 ,		(F) 1.1588700e-004 ,		(F) 1.2895591e-004 ,		
	(F) 1.1447885e-004 ,		(F) 7.7679880e-005 ,		(F) 2.7977749e-005 ,		(F) -2.3312721e-005 ,		
	(F) -6.5487727e-005 ,		(F) -9.0628052e-005 ,		(F) -9.5011193e-005 ,		(F) -7.9529233e-005 ,		
	(F) -4.9108060e-005 ,		(F) -1.1334073e-005 ,		(F) 2.5355992e-005 ,		(F) 5.3504670e-005 ,		
	(F) 6.8097158e-005 ,		(F) 6.7383510e-005 ,		(F) 5.2944010e-005 ,		(F) 2.9052077e-005 ,		
	(F) 1.5325630e-006 ,		(F) -2.3598031e-005 ,		(F) -4.1402934e-005 ,		(F) -4.8948700e-005 ,		
	(F) -4.5719508e-005 ,		(F) -3.3483882e-005 ,		(F) -1.5695320e-005 ,		(F) 3.4006004e-006 ,		
	(F) 1.9734613e-005 ,		(F) 3.0245186e-005 ,		(F) 3.3410960e-005 ,		(F) 2.9402393e-005 ,		
	(F) 1.9860460e-005 ,		(F) 7.3891899e-006 ,		(F) -5.0991282e-006 ,		(F) -1.5030440e-005 ,		
	(F) -2.0670126e-005 ,		(F) -2.1388180e-005 ,		(F) -1.7658571e-005 ,		(F) -1.0823761e-005 ,		
	(F) -2.7026461e-006 ,		(F) 4.8549012e-006 ,		(F) 1.0364208e-005 ,		(F) 1.2972965e-005 ,		
	(F) 1.2557529e-005 ,		(F) 9.6491112e-006 ,		(F) 5.2280356e-006 ,		(F) 4.4857083e-007 ,		
	(F) -3.6356811e-006 ,		(F) -6.2850774e-006 ,		(F) -7.1868762e-006 ,		(F) -6.4566332e-006 ,		
	(F) -4.5436845e-006 ,		(F) -2.0761133e-006 ,		(F) 3.1038207e-007 ,		(F) 2.1177922e-006 ,		
	(F) 3.0753241e-006
 };

  *lenh0 = LP35_48K_LEN;           /* store 'number of coefficients' */
  *h0 = LP35_48khz_coeff;		/* store pointer to []-array */
}
#undef LP35_48K_LEN
/* ...................... End of fill_LP35_48kHz() ..................... */

/*
  ============================================================================

        void fill_LP7_48kHz (float **h0, long *lenh0);
        ~~~~~~~~~~~~~~~~~~~

        Description:
        ~~~~~~~~~~~~

        Initialize pointer to array with FIR coefficients of a low
        pass filter with cut-off frequency 7kHz and sampling frequency 48kHz.

        Parameters:
        ~~~~~~~~~~~
        h0:    (Out) pointer to array with FIR coefficients
        lenh0: (Out) pointer to number of coefficients


        Return value:
        ~~~~~~~~~~~~~
        None.

        Author: Cyril Guillaume & Stephane Ragot <stephane.ragot@francetelecom.com>
        ~~~~~~~

        History:
        ~~~~~~~~
        10.FEB.05 v1.0 Release of 1st version

 ============================================================================
*/

#undef LP7_48K_LEN
#define LP7_48K_LEN 235
void fill_LP7_48kHz (h0, lenh0)
float **h0;
long *lenh0;
{
  static float LP7_48khz_coeff[LP7_48K_LEN] =  {
	(F) 6.7620966e-006 ,		(F) 7.9901543e-006 ,		(F) 1.0377833e-006 ,		(F) -1.0839254e-005 ,		
	(F) -1.7259735e-005 ,		(F) -8.9863906e-006 ,		(F) 1.1692637e-005 ,		(F) 2.8840921e-005 ,		
	(F) 2.4178987e-005 ,		(F) -5.3016100e-006 ,		(F) -3.9278506e-005 ,		(F) -4.6660220e-005 ,		
	(F) -1.2508090e-005 ,		(F) 4.2919041e-005 ,		(F) 7.3667118e-005 ,		(F) 4.4657077e-005 ,		
	(F) -3.2551639e-005 ,		(F) -9.8886471e-005 ,		(F) -9.1085622e-005 ,		(F) 8.7737818e-007 ,		
	(F) 1.1245938e-004 ,		(F) 1.4709310e-004 ,		(F) 5.7272021e-005 ,		(F) -1.0205525e-004 ,		
	(F) -2.0225818e-004 ,		(F) -1.4229016e-004 ,		(F) 5.5156494e-005 ,		(F) 2.4048419e-004 ,		
	(F) 2.4728768e-004 ,		(F) 3.7583784e-005 ,		(F) -2.4160672e-004 ,		(F) -3.5644547e-004 ,		
	(F) -1.7838192e-004 ,		(F) 1.8474502e-004 ,		(F) 4.4498350e-004 ,		(F) 3.5854767e-004 ,		
	(F) -5.3197794e-005 ,		(F) -4.8134653e-004 ,		(F) -5.5589314e-004 ,		(F) -1.5976133e-004 ,		
	(F) 4.3186235e-004 ,		(F) 7.3436205e-004 ,		(F) 4.4525193e-004 ,		(F) -2.6762346e-004 ,		
	(F) -8.4671403e-004 ,		(F) -7.7466836e-004 ,		(F) -2.7243397e-005 ,		(F) 8.4065157e-004 ,		
	(F) 1.0984793e-003 ,		(F) 4.4730750e-004 ,		(F) -6.6812569e-004 ,		(F) -1.3491071e-003 ,		
	(F) -9.5933889e-004 ,		(F) 2.9679986e-004 ,		(F) 1.4484930e-003 ,		(F) 1.4994615e-003 ,		
	(F) 2.7806900e-004 ,		(F) -1.3201401e-003 ,		(F) -1.9755586e-003 ,		(F) -1.0235973e-003 ,		
	(F) 9.0447257e-004 ,		(F) 2.2758758e-003 ,		(F) 1.8635308e-003 ,		(F) -1.7542249e-004 ,		
	(F) -2.2837821e-003 ,		(F) -2.6789618e-003 ,		(F) -8.4453831e-004 ,		(F) 1.8974788e-003 ,		
	(F) 3.3169321e-003 ,		(F) 2.0740007e-003 ,		(F) -1.0522916e-003 ,		(F) -3.6071993e-003 ,		
	(F) -3.3696917e-003 ,		(F) -2.5772396e-004 ,		(F) 3.3860460e-003 ,		(F) 4.5330437e-003 ,		
	(F) 1.9625680e-003 ,		(F) -2.5246130e-003 ,		(F) -5.3269700e-003 ,		(F) -3.9069816e-003 ,		
	(F) 9.5810299e-004 ,		(F) 5.5019102e-003 ,		(F) 5.8516399e-003 ,		(F) 1.2883860e-003 ,		
	(F) -4.8284965e-003 ,		(F) -7.4858875e-003 ,		(F) -4.0814598e-003 ,		(F) 3.1327172e-003 ,		
	(F) 8.4509362e-003 ,		(F) 7.1714074e-003 ,		(F) -3.2850293e-004 ,		(F) -8.3699128e-003 ,		
	(F) -1.0195319e-002 ,		(F) -3.5575315e-003 ,		(F) 6.8781947e-003 ,		(F) 1.2688546e-002 ,		
	(F) 8.3737857e-003 ,		(F) -3.6434756e-003 ,		(F) -1.4095743e-002 ,		(F) -1.3846917e-002 ,		
	(F) -1.6425344e-003 ,		(F) 1.3760653e-002 ,		(F) 1.9601606e-002 ,		(F) 9.3391475e-003 ,		
	(F) -1.0841495e-002 ,		(F) -2.5195377e-002 ,		(F) -2.0107141e-002 ,		(F) 3.9843717e-003 ,		
	(F) 3.0164622e-002 ,		(F) 3.5754838e-002 ,		(F) 9.9648313e-003 ,		(F) -3.4076114e-002 ,		
	(F) -6.3105240e-002 ,		(F) -4.3207642e-002 ,		(F) 3.6577155e-002 ,		(F) 1.5241961e-001 ,		
	(F) 2.5501603e-001 ,		(F) 2.9589583e-001 ,		(F) 2.5501603e-001 ,		(F) 1.5241961e-001 ,		
	(F) 3.6577155e-002 ,		(F) -4.3207642e-002 ,		(F) -6.3105240e-002 ,		(F) -3.4076114e-002 ,		
	(F) 9.9648313e-003 ,		(F) 3.5754838e-002 ,		(F) 3.0164622e-002 ,		(F) 3.9843717e-003 ,		
	(F) -2.0107141e-002 ,		(F) -2.5195377e-002 ,		(F) -1.0841495e-002 ,		(F) 9.3391475e-003 ,		
	(F) 1.9601606e-002 ,		(F) 1.3760653e-002 ,		(F) -1.6425344e-003 ,		(F) -1.3846917e-002 ,		
	(F) -1.4095743e-002 ,		(F) -3.6434756e-003 ,		(F) 8.3737857e-003 ,		(F) 1.2688546e-002 ,		
	(F) 6.8781947e-003 ,		(F) -3.5575315e-003 ,		(F) -1.0195319e-002 ,		(F) -8.3699128e-003 ,		
	(F) -3.2850293e-004 ,		(F) 7.1714074e-003 ,		(F) 8.4509362e-003 ,		(F) 3.1327172e-003 ,		
	(F) -4.0814598e-003 ,		(F) -7.4858875e-003 ,		(F) -4.8284965e-003 ,		(F) 1.2883860e-003 ,		
	(F) 5.8516399e-003 ,		(F) 5.5019102e-003 ,		(F) 9.5810299e-004 ,		(F) -3.9069816e-003 ,		
	(F) -5.3269700e-003 ,		(F) -2.5246130e-003 ,		(F) 1.9625680e-003 ,		(F) 4.5330437e-003 ,		
	(F) 3.3860460e-003 ,		(F) -2.5772396e-004 ,		(F) -3.3696917e-003 ,		(F) -3.6071993e-003 ,		
	(F) -1.0522916e-003 ,		(F) 2.0740007e-003 ,		(F) 3.3169321e-003 ,		(F) 1.8974788e-003 ,		
	(F) -8.4453831e-004 ,		(F) -2.6789618e-003 ,		(F) -2.2837821e-003 ,		(F) -1.7542249e-004 ,		
	(F) 1.8635308e-003 ,		(F) 2.2758758e-003 ,		(F) 9.0447257e-004 ,		(F) -1.0235973e-003 ,		
	(F) -1.9755586e-003 ,		(F) -1.3201401e-003 ,		(F) 2.7806900e-004 ,		(F) 1.4994615e-003 ,		
	(F) 1.4484930e-003 ,		(F) 2.9679986e-004 ,		(F) -9.5933889e-004 ,		(F) -1.3491071e-003 ,		
	(F) -6.6812569e-004 ,		(F) 4.4730750e-004 ,		(F) 1.0984793e-003 ,		(F) 8.4065157e-004 ,		
	(F) -2.7243397e-005 ,		(F) -7.7466836e-004 ,		(F) -8.4671403e-004 ,		(F) -2.6762346e-004 ,		
	(F) 4.4525193e-004 ,		(F) 7.3436205e-004 ,		(F) 4.3186235e-004 ,		(F) -1.5976133e-004 ,		
	(F) -5.5589314e-004 ,		(F) -4.8134653e-004 ,		(F) -5.3197794e-005 ,		(F) 3.5854767e-004 ,		
	(F) 4.4498350e-004 ,		(F) 1.8474502e-004 ,		(F) -1.7838192e-004 ,		(F) -3.5644547e-004 ,		
	(F) -2.4160672e-004 ,		(F) 3.7583784e-005 ,		(F) 2.4728768e-004 ,		(F) 2.4048419e-004 ,		
	(F) 5.5156494e-005 ,		(F) -1.4229016e-004 ,		(F) -2.0225818e-004 ,		(F) -1.0205525e-004 ,		
	(F) 5.7272021e-005 ,		(F) 1.4709310e-004 ,		(F) 1.1245938e-004 ,		(F) 8.7737818e-007 ,		
	(F) -9.1085622e-005 ,		(F) -9.8886471e-005 ,		(F) -3.2551639e-005 ,		(F) 4.4657077e-005 ,		
	(F) 7.3667118e-005 ,		(F) 4.2919041e-005 ,		(F) -1.2508090e-005 ,		(F) -4.6660220e-005 ,		
	(F) -3.9278506e-005 ,		(F) -5.3016100e-006 ,		(F) 2.4178987e-005 ,		(F) 2.8840921e-005 ,		
	(F) 1.1692637e-005 ,		(F) -8.9863906e-006 ,		(F) -1.7259735e-005 ,		(F) -1.0839254e-005 ,		
	(F) 1.0377833e-006 ,		(F) 7.9901543e-006 ,		(F) 6.7620966e-006
 };

  *lenh0 = LP7_48K_LEN;           /* store 'number of coefficients' */
  *h0 = LP7_48khz_coeff;		/* store pointer to []-array */
}
#undef LP7_48K_LEN
/* ...................... End of fill_LP7_48kHz() ..................... */

/*
  ============================================================================

        void fill_LP10_48kHz (float **h0, long *lenh0);
        ~~~~~~~~~~~~~~~~~~~

        Description:
        ~~~~~~~~~~~~

        Initialize pointer to array with FIR coefficients of a low
        pass filter with cut-off frequency 10kHz and sampling frequency 48kHz.

        Parameters:
        ~~~~~~~~~~~
        h0:    (Out) pointer to array with FIR coefficients
        lenh0: (Out) pointer to number of coefficients


        Return value:
        ~~~~~~~~~~~~~
        None.

        Author: Cyril Guillaume & Stephane Ragot <stephane.ragot@francetelecom.com>
        ~~~~~~~

        History:
        ~~~~~~~~
        10.FEB.05 v1.0 Release of 1st version

 ============================================================================
*/

#undef LP10_48K_LEN
#define LP10_48K_LEN 165
void fill_LP10_48kHz (h0, lenh0)
float **h0;
long *lenh0;
{
  static float LP10_48khz_coeff[LP10_48K_LEN] =  {
	(F) 9.0584721e-006 ,		(F) 1.0120685e-005 ,		(F) -1.0969194e-005 ,		(F) -2.4999268e-005 ,		
	(F) 3.0547872e-006 ,		(F) 4.2008061e-005 ,		(F) 2.0210846e-005 ,		(F) -5.1360637e-005 ,		
	(F) -5.9418089e-005 ,		(F) 3.9724435e-005 ,		(F) 1.0643464e-004 ,		(F) 4.9258962e-006 ,		
	(F) -1.4292329e-004 ,		(F) -8.6309629e-005 ,		(F) 1.4307584e-004 ,		(F) 1.9298229e-004 ,		
	(F) -8.1362240e-005 ,		(F) -2.9486261e-004 ,		(F) -5.5830853e-005 ,		(F) 3.4628076e-004 ,		
	(F) 2.5798781e-004 ,		(F) -2.9717658e-004 ,		(F) -4.8260610e-004 ,		(F) 1.1131080e-004 ,		
	(F) 6.5678147e-004 ,		(F) 2.1295954e-004 ,		(F) -6.9147766e-004 ,		(F) -6.2649677e-004 ,		
	(F) 5.0794544e-004 ,		(F) 1.0257809e-003 ,		(F) -7.0905389e-005 ,		(F) -1.2679422e-003 ,		
	(F) -5.8129311e-004 ,		(F) 1.2056483e-003 ,		(F) 1.3215025e-003 ,		(F) -7.3628734e-004 ,		
	(F) -1.9440755e-003 ,		(F) -1.4694837e-004 ,		(F) 2.2054650e-003 ,		(F) 1.3189407e-003 ,		
	(F) -1.8910243e-003 ,		(F) -2.5182761e-003 ,		(F) 8.9390459e-004 ,		(F) 3.3856642e-003 ,		
	(F) 7.1600827e-004 ,		(F) -3.5452865e-003 ,		(F) -2.6579388e-003 ,		(F) 2.7155469e-003 ,		
	(F) 4.4611664e-003 ,		(F) -8.2304705e-004 ,		(F) -5.5494404e-003 ,		(F) -1.9138022e-003 ,		
	(F) 5.3800520e-003 ,		(F) 4.9639184e-003 ,		(F) -3.6105850e-003 ,		(F) -7.5467113e-003 ,		
	(F) 2.5254968e-004 ,		(F) 8.7810819e-003 ,		(F) 4.2334620e-003 ,		(F) -7.8986024e-003 ,		
	(F) -8.9388830e-003 ,		(F) 4.4780268e-003 ,		(F) 1.2622872e-002 ,		(F) 1.3540233e-003 ,		
	(F) -1.3933409e-002 ,		(F) -8.8096462e-003 ,		(F) 1.1695596e-002 ,		(F) 1.6448933e-002 ,		
	(F) -5.2063445e-003 ,		(F) -2.2313545e-002 ,		(F) -5.5347271e-003 ,		(F) 2.4137121e-002 ,		
	(F) 1.9720524e-002 ,		(F) -1.9509194e-002 ,		(F) -3.5795674e-002 ,		(F) 5.6923327e-003 ,		
	(F) 5.1681357e-002 ,		(F) 2.1928358e-002 ,		(F) -6.5128187e-002 ,		(F) -7.8786532e-002 ,		
	(F) 7.4127154e-002 ,		(F) 3.0880339e-001 ,		(F) 4.2270833e-001 ,		(F) 3.0880339e-001 ,		
	(F) 7.4127154e-002 ,		(F) -7.8786532e-002 ,		(F) -6.5128187e-002 ,		(F) 2.1928358e-002 ,		
	(F) 5.1681357e-002 ,		(F) 5.6923327e-003 ,		(F) -3.5795674e-002 ,		(F) -1.9509194e-002 ,		
	(F) 1.9720524e-002 ,		(F) 2.4137121e-002 ,		(F) -5.5347271e-003 ,		(F) -2.2313545e-002 ,		
	(F) -5.2063445e-003 ,		(F) 1.6448933e-002 ,		(F) 1.1695596e-002 ,		(F) -8.8096462e-003 ,		
	(F) -1.3933409e-002 ,		(F) 1.3540233e-003 ,		(F) 1.2622872e-002 ,		(F) 4.4780268e-003 ,		
	(F) -8.9388830e-003 ,		(F) -7.8986024e-003 ,		(F) 4.2334620e-003 ,		(F) 8.7810819e-003 ,		
	(F) 2.5254968e-004 ,		(F) -7.5467113e-003 ,		(F) -3.6105850e-003 ,		(F) 4.9639184e-003 ,		
	(F) 5.3800520e-003 ,		(F) -1.9138022e-003 ,		(F) -5.5494404e-003 ,		(F) -8.2304705e-004 ,		
	(F) 4.4611664e-003 ,		(F) 2.7155469e-003 ,		(F) -2.6579388e-003 ,		(F) -3.5452865e-003 ,		
	(F) 7.1600827e-004 ,		(F) 3.3856642e-003 ,		(F) 8.9390459e-004 ,		(F) -2.5182761e-003 ,		
	(F) -1.8910243e-003 ,		(F) 1.3189407e-003 ,		(F) 2.2054650e-003 ,		(F) -1.4694837e-004 ,		
	(F) -1.9440755e-003 ,		(F) -7.3628734e-004 ,		(F) 1.3215025e-003 ,		(F) 1.2056483e-003 ,		
	(F) -5.8129311e-004 ,		(F) -1.2679422e-003 ,		(F) -7.0905389e-005 ,		(F) 1.0257809e-003 ,		
	(F) 5.0794544e-004 ,		(F) -6.2649677e-004 ,		(F) -6.9147766e-004 ,		(F) 2.1295954e-004 ,		
	(F) 6.5678147e-004 ,		(F) 1.1131080e-004 ,		(F) -4.8260610e-004 ,		(F) -2.9717658e-004 ,		
	(F) 2.5798781e-004 ,		(F) 3.4628076e-004 ,		(F) -5.5830853e-005 ,		(F) -2.9486261e-004 ,		
	(F) -8.1362240e-005 ,		(F) 1.9298229e-004 ,		(F) 1.4307584e-004 ,		(F) -8.6309629e-005 ,		
	(F) -1.4292329e-004 ,		(F) 4.9258962e-006 ,		(F) 1.0643464e-004 ,		(F) 3.9724435e-005 ,		
	(F) -5.9418089e-005 ,		(F) -5.1360637e-005 ,		(F) 2.0210846e-005 ,		(F) 4.2008061e-005 ,		
	(F) 3.0547872e-006 ,		(F) -2.4999268e-005 ,		(F) -1.0969194e-005 ,		(F) 1.0120685e-005 ,		
	(F) 9.0584721e-006
};

  *lenh0 = LP10_48K_LEN;           /* store 'number of coefficients' */
  *h0 = LP10_48khz_coeff;		/* store pointer to []-array */
}
#undef LP10_48K_LEN
/* ...................... End of fill_LP10_48kHz() ..................... */
/*
  ============================================================================

        void fill_LP14_48kHz (float **h0, long *lenh0);
        ~~~~~~~~~~~~~~~~~~~

        Description:
        ~~~~~~~~~~~~

        Initialize pointer to array with FIR coefficients of a low
        pass filter with cut-off frequency 14kHz and sampling frequency 48kHz.

        Parameters:
        ~~~~~~~~~~~
        h0:    (Out) pointer to array with FIR coefficients
        lenh0: (Out) pointer to number of coefficients


        Return value:
        ~~~~~~~~~~~~~
        None.

        Author: 
        ~~~~~~~

        History:
        ~~~~~~~~
        15.May .07  2nd version (sharper)

 ============================================================================
*/

#undef LP14_48K_LEN
#define LP14_48K_LEN 469
void fill_LP14_48kHz (h0, lenh0)
float **h0;
long *lenh0;
{
	static float LP14_48khz_coeff[LP14_48K_LEN] =  {
		(F)-6.88247135e-007, (F)4.13493912e-006, (F)-1.60205568e-006, (F)-4.30455779e-006,(F)4.57461611e-006, (F)2.64443920e-006, (F)-7.19145207e-006, (F)9.91494924e-007,
		(F)8.13347584e-006, (F)-5.93309212e-006, (F)-6.27791864e-006, (F)1.06914503e-005,(F)1.24488535e-006, (F)-1.33007295e-005, (F)6.19474043e-006, (F)1.19614662e-005,
		(F)-1.40557273e-005, (F)-5.80941108e-006, (F)1.95398962e-005, (F)-4.46121212e-006,(F)-1.98700152e-005, (F)1.64023472e-005, (F)1.33471309e-005, (F)-2.62312964e-005,
		(F)-2.85216379e-007, (F)2.98618233e-005, (F)-1.65595618e-005, (F)-2.43132622e-005,(F)3.23483064e-005, (F)9.06848430e-006, (F)-4.13639959e-005, (F)1.31273496e-005,
		(F)3.88206158e-005, (F)-3.64446842e-005, (F)-2.27637541e-005, (F)5.32799329e-005,(F)-4.59405229e-006, (F)-5.64821041e-005, (F)3.66972963e-005, (F)4.19091130e-005,
		(F)-6.39380368e-005, (F)-1.04910319e-005, (F)7.62681014e-005, (F)-3.10151390e-005,(F)-6.64990958e-005, (F)7.11007130e-005, (F)3.32952510e-005, (F)-9.64016295e-005,
		(F)1.72198791e-005, (F)9.57813482e-005, (F)-7.20499250e-005, (F)-6.44443754e-005,(F)1.14315420e-004, (F)6.70444223e-006, (F)-1.28082688e-004, (F)6.37601955e-005,
		(F)1.03750361e-004, (F)-1.26693296e-004, (F)-4.23038344e-005, (F)1.60693678e-004,(F)-4.31621257e-005, (F)-1.49953831e-004, (F)1.29613699e-004, (F)9.03097042e-005,
		(F)-1.89840853e-004, (F)7.48968567e-006, (F)2.00515015e-004, (F)-1.18805595e-004,(F)-1.50286966e-004, (F)2.10772475e-004, (F)4.53065037e-005, (F)-2.51489085e-004,
		(F)9.00166528e-005, (F)2.20312257e-004, (F)-2.17976815e-004, (F)-1.16108900e-004,(F)2.97520475e-004, (F)-3.94813596e-005, (F)-2.96724440e-004, (F)2.05541780e-004,
		(F)2.04184981e-004, (F)-3.31985379e-004, (F)-3.55365791e-005, (F)3.73990779e-004,(F)-1.67651614e-004, (F)-3.06788490e-004, (F)3.47302201e-004, (F)1.36166097e-004,
		(F)-4.44729045e-004, (F)9.92014676e-005, (F)4.18861452e-004, (F)-3.35416574e-004,(F)-2.61364665e-004, (F)4.99917955e-004, (F)3.50486133e-006, (F)-5.32888295e-004,
		(F)2.88451517e-004, (F)4.07426041e-004, (F)-5.29316001e-004, (F)-1.42023347e-004,(F)6.38948095e-004, (F)-1.99495615e-004, (F)-5.67621246e-004, (F)5.22092329e-004,
		(F)3.15065599e-004, (F)-7.25000323e-004, (F)6.34843693e-005, (F)7.32032278e-004,(F)-4.67654205e-004, (F)-5.17891326e-004, (F)7.77423835e-004, (F)1.21886172e-004,
		(F)-8.87630192e-004, (F)3.56635174e-004, (F)7.41868895e-004, (F)-7.81809080e-004,(F)-3.55286818e-004, (F)1.01863533e-003, (F)-1.81988200e-004, (F)-9.74271379e-004,
		(F)7.23981209e-004, (F)6.31004185e-004, (F)-1.10717828e-003, (F)-5.98890039e-005,(F)1.19836453e-003, (F)-5.91208682e-004, (F)-9.38392195e-004, (F)1.13425674e-003,
		(F)3.68081600e-004, (F)-1.39382552e-003, (F)3.73530424e-004, (F)1.26160007e-003,(F)-1.08095813e-003, (F)-7.36229129e-004, (F)1.53750810e-003, (F)-6.51169152e-005,
		(F)-1.57963589e-003, (F)9.29891601e-004, (F)1.15182946e-003, (F)-1.60454207e-003,(F)-3.34430896e-004, (F)1.86680227e-003, (F)-6.66750716e-004, (F)-1.59585243e-003,
		(F)1.56972596e-003, (F)8.18944226e-004, (F)-2.09351217e-003, (F)2.81909395e-004,(F)2.04271975e-003, (F)-1.40914203e-003, (F)-1.37480327e-003, (F)2.22745881e-003,
		(F)2.28055900e-004, (F)-2.46067767e-003, (F)1.10189739e-003, (F)1.98038280e-003,(F)-2.23507737e-003, (F)-8.59025076e-004, (F)2.81255040e-003, (F)-6.31874200e-004,
		(F)-2.60587079e-003, (F)2.08319815e-003, (F)1.59826926e-003, (F)-3.05681501e-003,(F)-1.06398505e-005, (F)3.21346002e-003, (F)-1.74075350e-003, (F)-2.42372950e-003,
		(F)3.14888213e-003, (F)8.27572670e-004, (F)-3.75785217e-003, (F)1.18036217e-003,(F)3.30366240e-003, (F)-3.04239759e-003, (F)-1.81206375e-003, (F)4.18693045e-003,
		(F)-3.79572537e-004, (F)-4.19660758e-003, (F)2.69028691e-003, (F)2.94793974e-003,(F)-4.44233580e-003, (F)-6.78512724e-004, (F)5.05152724e-003, (F)-2.04512304e-003,
		(F)-4.20974542e-003, (F)4.45948804e-003, (F)2.00560890e-003, (F)-5.80779797e-003,(F)1.05814772e-003, (F)5.56336934e-003, (F)-4.16624399e-003, (F)-3.61020422e-003,
		(F)6.39442746e-003, (F)3.24225010e-004, (F)-6.96726131e-003, (F)3.47867515e-003,(F)5.50215215e-003, (F)-6.72724063e-003, (F)-2.16871247e-003, (F)8.37419459e-003,
		(F)-2.29083687e-003, (F)-7.70209975e-003, (F)6.70132854e-003, (F)4.57331319e-003,(F)-9.73348332e-003, (F)4.51316863e-004, (F)1.02609937e-002, (F)-6.17224108e-003,
		(F)-7.70788397e-003, (F)1.09935279e-002, (F)2.29238440e-003, (F)-1.33039882e-002,(F)4.90784721e-003, (F)1.19134972e-002, (F)-1.21045318e-002, (F)-6.44014604e-003,
		(F)1.71449852e-002, (F)-2.45066797e-003, (F)-1.79876788e-002, (F)1.30212156e-002,(F)1.32014830e-002, (F)-2.26605491e-002, (F)-2.36958614e-003, (F)2.82448068e-002,
		(F)-1.37053480e-002, (F)-2.64999588e-002, (F)3.30562981e-002, (F)1.40199108e-002,(F)-5.28698378e-002, (F)1.41279231e-002, (F)7.00075081e-002, (F)-7.32690628e-002,
		(F)-8.16213473e-002, (F)3.06814388e-001, (F)5.85729167e-001, (F)3.06814388e-001,(F)-8.16213473e-002, (F)-7.32690628e-002, (F)7.00075081e-002, (F)1.41279231e-002,
		(F)-5.28698378e-002, (F)1.40199108e-002, (F)3.30562981e-002, (F)-2.64999588e-002,(F)-1.37053480e-002, (F)2.82448068e-002, (F)-2.36958614e-003, (F)-2.26605491e-002,
		(F)1.32014830e-002, (F)1.30212156e-002, (F)-1.79876788e-002, (F)-2.45066797e-003,(F)1.71449852e-002, (F)-6.44014604e-003, (F)-1.21045318e-002, (F)1.19134972e-002,
		(F)4.90784721e-003, (F)-1.33039882e-002, (F)2.29238440e-003, (F)1.09935279e-002,(F)-7.70788397e-003, (F)-6.17224108e-003, (F)1.02609937e-002, (F)4.51316863e-004,
		(F)-9.73348332e-003, (F)4.57331319e-003, (F)6.70132854e-003, (F)-7.70209975e-003,(F)-2.29083687e-003, (F)8.37419459e-003, (F)-2.16871247e-003, (F)-6.72724063e-003,
		(F)5.50215215e-003, (F)3.47867515e-003, (F)-6.96726131e-003, (F)3.24225010e-004,(F)6.39442746e-003, (F)-3.61020422e-003, (F)-4.16624399e-003, (F)5.56336934e-003,
		(F)1.05814772e-003, (F)-5.80779797e-003, (F)2.00560890e-003, (F)4.45948804e-003,(F)-4.20974542e-003, (F)-2.04512304e-003, (F)5.05152724e-003, (F)-6.78512724e-004,
		(F)-4.44233580e-003, (F)2.94793974e-003, (F)2.69028691e-003, (F)-4.19660758e-003,(F)-3.79572537e-004, (F)4.18693045e-003, (F)-1.81206375e-003, (F)-3.04239759e-003,
		(F)3.30366240e-003, (F)1.18036217e-003, (F)-3.75785217e-003, (F)8.27572670e-004,(F)3.14888213e-003, (F)-2.42372950e-003, (F)-1.74075350e-003, (F)3.21346002e-003,
		(F)-1.06398505e-005, (F)-3.05681501e-003, (F)1.59826926e-003, (F)2.08319815e-003,(F)-2.60587079e-003, (F)-6.31874200e-004, (F)2.81255040e-003, (F)-8.59025076e-004,
		(F)-2.23507737e-003, (F)1.98038280e-003, (F)1.10189739e-003, (F)-2.46067767e-003,(F)2.28055900e-004, (F)2.22745881e-003, (F)-1.37480327e-003, (F)-1.40914203e-003,
		(F)2.04271975e-003, (F)2.81909395e-004, (F)-2.09351217e-003, (F)8.18944226e-004,(F)1.56972596e-003, (F)-1.59585243e-003, (F)-6.66750716e-004, (F)1.86680227e-003,
		(F)-3.34430896e-004, (F)-1.60454207e-003, (F)1.15182946e-003, (F)9.29891601e-004,(F)-1.57963589e-003, (F)-6.51169152e-005, (F)1.53750810e-003, (F)-7.36229129e-004,
		(F)-1.08095813e-003, (F)1.26160007e-003, (F)3.73530424e-004, (F)-1.39382552e-003,(F)3.68081600e-004, (F)1.13425674e-003, (F)-9.38392195e-004, (F)-5.91208682e-004,
		(F)1.19836453e-003, (F)-5.98890039e-005, (F)-1.10717828e-003, (F)6.31004185e-004,(F)7.23981209e-004, (F)-9.74271379e-004, (F)-1.81988200e-004, (F)1.01863533e-003,
		(F)-3.55286818e-004, (F)-7.81809080e-004, (F)7.41868895e-004, (F)3.56635174e-004,(F)-8.87630192e-004, (F)1.21886172e-004, (F)7.77423835e-004, (F)-5.17891326e-004,
		(F)-4.67654205e-004, (F)7.32032278e-004, (F)6.34843693e-005, (F)-7.25000323e-004,(F)3.15065599e-004, (F)5.22092329e-004, (F)-5.67621246e-004, (F)-1.99495615e-004,
		(F)6.38948095e-004, (F)-1.42023347e-004, (F)-5.29316001e-004, (F)4.07426041e-004,(F)2.88451517e-004, (F)-5.32888295e-004, (F)3.50486133e-006, (F)4.99917955e-004,
		(F)-2.61364665e-004, (F)-3.35416574e-004, (F)4.18861452e-004, (F)9.92014676e-005,(F)-4.44729045e-004, (F)1.36166097e-004, (F)3.47302201e-004, (F)-3.06788490e-004,
		(F)-1.67651614e-004, (F)3.73990779e-004, (F)-3.55365791e-005, (F)-3.31985379e-004,(F)2.04184981e-004, (F)2.05541780e-004, (F)-2.96724440e-004, (F)-3.94813596e-005,
		(F)2.97520475e-004, (F)-1.16108900e-004, (F)-2.17976815e-004, (F)2.20312257e-004,(F)9.00166528e-005, (F)-2.51489085e-004, (F)4.53065037e-005, (F)2.10772475e-004,
		(F)-1.50286966e-004, (F)-1.18805595e-004, (F)2.00515015e-004, (F)7.48968567e-006,(F)-1.89840853e-004, (F)9.03097042e-005, (F)1.29613699e-004, (F)-1.49953831e-004,
		(F)-4.31621257e-005, (F)1.60693678e-004, (F)-4.23038344e-005, (F)-1.26693296e-004,(F)1.03750361e-004, (F)6.37601955e-005, (F)-1.28082688e-004, (F)6.70444223e-006,
		(F)1.14315420e-004, (F)-6.44443754e-005, (F)-7.20499250e-005, (F)9.57813482e-005,(F)1.72198791e-005, (F)-9.64016295e-005, (F)3.32952510e-005, (F)7.11007130e-005,
		(F)-6.64990958e-005, (F)-3.10151390e-005, (F)7.62681014e-005, (F)-1.04910319e-005,(F)-6.39380368e-005, (F)4.19091130e-005, (F)3.66972963e-005, (F)-5.64821041e-005,
		(F)-4.59405229e-006, (F)5.32799329e-005, (F)-2.27637541e-005, (F)-3.64446842e-005,(F)3.88206158e-005, (F)1.31273496e-005, (F)-4.13639959e-005, (F)9.06848430e-006,
		(F)3.23483064e-005, (F)-2.43132622e-005, (F)-1.65595618e-005, (F)2.98618233e-005,(F)-2.85216379e-007, (F)-2.62312964e-005, (F)1.33471309e-005, (F)1.64023472e-005,
		(F)-1.98700152e-005, (F)-4.46121212e-006, (F)1.95398962e-005, (F)-5.80941108e-006,(F)-1.40557273e-005, (F)1.19614662e-005, (F)6.19474043e-006, (F)-1.33007295e-005,
		(F)1.24488535e-006, (F)1.06914503e-005, (F)-6.27791864e-006, (F)-5.93309212e-006,(F)8.13347584e-006, (F)9.91494924e-007, (F)-7.19145207e-006, (F)2.64443920e-006,
		(F)4.57461611e-006, (F)-4.30455779e-006, (F)-1.60205568e-006, (F)4.13493912e-006,(F)-6.88247135e-007	
	};

  *lenh0 = LP14_48K_LEN;           /* store 'number of coefficients' */
  *h0 = LP14_48khz_coeff;		/* store pointer to []-array */
}
#undef LP14_48K_LEN
/* ...................... End of fill_LP14_48kHz() ..................... */

/*
  ============================================================================

        void fill_LP20_48kHz (float **h0, long *lenh0);
        ~~~~~~~~~~~~~~~~~~~

        Description:
        ~~~~~~~~~~~~

        Initialize pointer to array with FIR coefficients of a low
        pass filter with cut-off frequency 20kHz and sampling frequency 48kHz.

        Parameters:
        ~~~~~~~~~~~
        h0:    (Out) pointer to array with FIR coefficients
        lenh0: (Out) pointer to number of coefficients


        Return value:
        ~~~~~~~~~~~~~
        None.

        Author: 
        ~~~~~~~

        History:
        ~~~~~~~~
        15.May .07  2nd version sharper

 ============================================================================
*/

#undef LP20_48K_LEN
#define LP20_48K_LEN 323
void fill_LP20_48kHz (h0, lenh0)
float **h0;
long *lenh0;
{
	static float LP20_48khz_coeff[LP20_48K_LEN] =  {
		(F)4.54990767e-006, (F)-3.19143482e-006, (F)7.45335082e-008, (F)4.30659855e-006,(F)-8.82261206e-006, (F)1.19401821e-005, (F)-1.21588383e-005, (F)8.54599915e-006,
		(F)-1.20546174e-006, (F)-8.49706236e-006, (F)1.80814164e-005, (F)-2.45042270e-005,(F)2.50161249e-005, (F)-1.81069190e-005, (F)4.24976617e-006, (F)1.38343659e-005,
		(F)-3.15685239e-005, (F)4.35677001e-005, (F)-4.51352635e-005, (F)3.38230008e-005,(F)-1.05836013e-005, (F)-1.99091447e-005, (F)5.00114682e-005, (F)-7.08820071e-005,
		(F)7.49061928e-005, (F)-5.81475108e-005, (F)2.20956041e-005, (F)2.59186471e-005,(F)-7.39663295e-005, (F)1.08300902e-004, (F)-1.17080796e-004, (F)9.40757395e-005,
		(F)-4.12687979e-005, (F)-3.05594089e-005, (F)1.03710774e-004, (F)-1.57700361e-004,(F)1.74740187e-004, (F)-1.45169048e-004, (F)7.12568286e-005, (F)3.19165959e-005,
		(F)-1.39125874e-004, (F)2.20882373e-004, (F)-2.51245164e-004, (F)2.15565466e-004,(F)-1.15953215e-004, (F)-2.73526015e-005, (F)1.79570213e-004, (F)-2.99466554e-004,
		(F)3.50173480e-004, (F)-3.09979492e-004, (F)1.80054593e-004, (F)1.33960379e-005,(F)-2.23749666e-004, (F)3.94774847e-004, (F)-4.75250225e-004, (F)4.33697203e-004,
		(F)-2.69122423e-004, (F)1.43703596e-005, (F)2.69585221e-004, (F)-5.07715678e-004,(F)6.30280820e-004, (F)-5.92577447e-004, (F)3.89652750e-004, (F)-6.14286618e-005,
		(F)-3.14079089e-004, (F)6.38674694e-004, (F)-8.19099966e-004, (F)7.93076267e-004,(F)-5.49171027e-004, (F)1.34463904e-004, (F)3.53175383e-004, (F)-7.87419545e-004,
		(F)1.04555497e-003, (F)-1.04232076e-003, (F)7.56380198e-004, (F)-2.41544220e-004,(F)-3.81605207e-004, (F)9.53025979e-004, (F)-1.31354911e-003, (F)1.34827229e-003,
		(F)-1.02140749e-003, (F)3.92382156e-004, (F)3.92695321e-004, (F)-1.13383183e-003,(F)1.62718186e-003, (F)-1.72004107e-003, (F)1.35622365e-003, (F)-5.98743570e-004,
		(F)-3.78101731e-004, (F)1.32742430e-003, (F)-1.99104190e-003, (F)2.16845152e-003,(F)-1.77535691e-003, (F)8.75117642e-004, (F)3.27398699e-004, (F)-1.53066415e-003,
		(F)2.41074350e-003, (F)-2.70702648e-003, (F)2.29711279e-003, (F)-1.23984777e-003,(F)-2.27397116e-004, (F)1.73974866e-003, (F)-2.89386290e-003, (F)3.35368908e-003,
		(F)-2.94568141e-003, (F)1.71709034e-003, (F)6.09564330e-005, (F)-1.95031250e-003,(F)3.45156682e-003, (F)-4.13374812e-003, (F)3.75486511e-003, (F)-2.34031411e-003,
		(F)1.95173805e-004, (F)2.15756378e-003, (F)-4.10151673e-003, (F)5.08531422e-003,(F)-4.77492941e-003, (F)3.15882078e-003, (F)-5.74458595e-004, (F)-2.35644988e-003,
		(F)4.87331150e-003, (F)-6.26966081e-003, (F)6.08591864e-003, (F)-4.25062537e-003,(F)1.12885993e-003, (F)2.54184568e-003, (F)-5.81946156e-003, (F)7.79258566e-003,
		(F)-7.82562421e-003, (F)5.75002681e-003, (F)-1.94696971e-003, (F)-2.70875528e-003,(F)7.03984417e-003, (F)-9.85320470e-003, (F)1.02549369e-002, (F)-7.91356083e-003,
		(F)3.19853721e-003, (F)2.85251685e-003, (F)-8.74418998e-003, (F)1.28724600e-002,(F)-1.39352601e-002, (F)1.13048662e-002, (F)-5.26370437e-003, (F)-2.96899996e-003,
		(F)1.14464896e-002, (F)-1.79104774e-002, (F)2.03316220e-002, (F)-1.74550791e-002,(F)9.22053541e-003, (F)3.05478462e-003, (F)-1.67949448e-002, (F)2.85857905e-002,
		(F)-3.48278568e-002, (F)3.24950317e-002, (F)-1.98403918e-002, (F)-3.10731223e-003,(F)3.43759900e-002, (F)-7.02657263e-002, (F)1.05922233e-001, (F)-1.36166128e-001,
		(F)1.56418843e-001, (F)8.36458333e-001, (F)1.56418843e-001, (F)-1.36166128e-001,(F)1.05922233e-001, (F)-7.02657263e-002, (F)3.43759900e-002, (F)-3.10731223e-003,
		(F)-1.98403918e-002, (F)3.24950317e-002, (F)-3.48278568e-002, (F)2.85857905e-002,(F)-1.67949448e-002, (F)3.05478462e-003, (F)9.22053541e-003, (F)-1.74550791e-002,
		(F)2.03316220e-002, (F)-1.79104774e-002, (F)1.14464896e-002, (F)-2.96899996e-003,(F)-5.26370437e-003, (F)1.13048662e-002, (F)-1.39352601e-002, (F)1.28724600e-002,
		(F)-8.74418998e-003, (F)2.85251685e-003, (F)3.19853721e-003, (F)-7.91356083e-003,(F)1.02549369e-002, (F)-9.85320470e-003, (F)7.03984417e-003, (F)-2.70875528e-003,
		(F)-1.94696971e-003, (F)5.75002681e-003, (F)-7.82562421e-003, (F)7.79258566e-003,(F)-5.81946156e-003, (F)2.54184568e-003, (F)1.12885993e-003, (F)-4.25062537e-003,
		(F)6.08591864e-003, (F)-6.26966081e-003, (F)4.87331150e-003, (F)-2.35644988e-003,(F)-5.74458595e-004, (F)3.15882078e-003, (F)-4.77492941e-003, (F)5.08531422e-003,
		(F)-4.10151673e-003, (F)2.15756378e-003, (F)1.95173805e-004, (F)-2.34031411e-003,(F)3.75486511e-003, (F)-4.13374812e-003, (F)3.45156682e-003, (F)-1.95031250e-003,
		(F)6.09564330e-005, (F)1.71709034e-003, (F)-2.94568141e-003, (F)3.35368908e-003,(F)-2.89386290e-003, (F)1.73974866e-003, (F)-2.27397116e-004, (F)-1.23984777e-003,
		(F)2.29711279e-003, (F)-2.70702648e-003, (F)2.41074350e-003, (F)-1.53066415e-003,(F)3.27398699e-004, (F)8.75117642e-004, (F)-1.77535691e-003, (F)2.16845152e-003,
		(F)-1.99104190e-003, (F)1.32742430e-003, (F)-3.78101731e-004, (F)-5.98743570e-004,(F)1.35622365e-003, (F)-1.72004107e-003, (F)1.62718186e-003, (F)-1.13383183e-003,
		(F)3.92695321e-004, (F)3.92382156e-004, (F)-1.02140749e-003, (F)1.34827229e-003,(F)-1.31354911e-003, (F)9.53025979e-004, (F)-3.81605207e-004, (F)-2.41544220e-004,
		(F)7.56380198e-004, (F)-1.04232076e-003, (F)1.04555497e-003, (F)-7.87419545e-004,(F)3.53175383e-004, (F)1.34463904e-004, (F)-5.49171027e-004, (F)7.93076267e-004,
		(F)-8.19099966e-004, (F)6.38674694e-004, (F)-3.14079089e-004, (F)-6.14286618e-005,(F)3.89652750e-004, (F)-5.92577447e-004, (F)6.30280820e-004, (F)-5.07715678e-004,
		(F)2.69585221e-004, (F)1.43703596e-005, (F)-2.69122423e-004, (F)4.33697203e-004,(F)-4.75250225e-004, (F)3.94774847e-004, (F)-2.23749666e-004, (F)1.33960379e-005,
		(F)1.80054593e-004, (F)-3.09979492e-004, (F)3.50173480e-004, (F)-2.99466554e-004,(F)1.79570213e-004, (F)-2.73526015e-005, (F)-1.15953215e-004, (F)2.15565466e-004,
		(F)-2.51245164e-004, (F)2.20882373e-004, (F)-1.39125874e-004, (F)3.19165959e-005,(F)7.12568286e-005, (F)-1.45169048e-004, (F)1.74740187e-004, (F)-1.57700361e-004,
		(F)1.03710774e-004, (F)-3.05594089e-005, (F)-4.12687979e-005, (F)9.40757395e-005,(F)-1.17080796e-004, (F)1.08300902e-004, (F)-7.39663295e-005, (F)2.59186471e-005,
		(F)2.20956041e-005, (F)-5.81475108e-005, (F)7.49061928e-005, (F)-7.08820071e-005,(F)5.00114682e-005, (F)-1.99091447e-005, (F)-1.05836013e-005, (F)3.38230008e-005,
		(F)-4.51352635e-005, (F)4.35677001e-005, (F)-3.15685239e-005, (F)1.38343659e-005,(F)4.24976617e-006, (F)-1.81069190e-005, (F)2.50161249e-005, (F)-2.45042270e-005,
		(F)1.80814164e-005, (F)-8.49706236e-006, (F)-1.20546174e-006, (F)8.54599915e-006,(F)-1.21588383e-005, (F)1.19401821e-005, (F)-8.82261206e-006, (F)4.30659855e-006,
		(F)7.45335082e-008, (F)-3.19143482e-006, (F)4.54990767e-006
	};

  *lenh0 = LP20_48K_LEN;           /* store 'number of coefficients' */
  *h0 = LP20_48khz_coeff;		/* store pointer to []-array */
}
#undef LP20_48K_LEN
/* ...................... End of fill_LP20_48kHz() ..................... */
// FILTER_12k48k_HW
/*
  ============================================================================

        void fill_LP12_48kHz (float **h0, long *lenh0);
        ~~~~~~~~~~~~~~~~~~~

        Description:
        ~~~~~~~~~~~~

        Initialize pointer to array with FIR coefficients of a low
        pass filter with cut-off frequency 12kHz and sampling frequency 48kHz.

        Parameters:
        ~~~~~~~~~~~
        h0:    (Out) pointer to array with FIR coefficients
        lenh0: (Out) pointer to number of coefficients


        Return value:
        ~~~~~~~~~~~~~
        None.

        Author: 
        ~~~~~~~

        History:
        ~~~~~~~~
        31.Dec .08  3nd version sharper

 ============================================================================
*/
#undef LP12_48K_LEN
#define LP12_48K_LEN 329
void fill_LP12_48kHz (h0, lenh0)
float **h0;
long *lenh0;
{
static float LP12_48khz_coeff[LP12_48K_LEN] =  {
 (F) 5.470766887e-006,  (F) -2.137526789e-007,  (F) -7.771705827e-006,  (F) 4.674858276e-007,  (F) 1.051786002e-005,  (F) -8.498761645e-007,  (F) -1.375755888e-005,  (F) 1.392548734e-006, 
 (F) 1.754140054e-005,  (F) -2.131460955e-006,  (F) -2.192212757e-005,  (F) 3.107203629e-006,  (F) 2.695448023e-005,  (F) -4.365302366e-006,  (F) -3.269502715e-005,  (F) 5.956518106e-006, 
 (F) 3.920197347e-005,  (F) -7.937145412e-006,  (F) -4.653494641e-005,  (F) 1.036930731e-005,  (F) 5.475475883e-005,  (F) -1.332124544e-005,  (F) -6.392315110e-005,  (F) 1.686760457e-005, 
 (F) 7.410251211e-005,  (F) -2.108971026e-005,  (F) -8.535558016e-005,  (F) 2.607583920e-005,  (F) 9.774512490e-005,  (F) -3.192148136e-005,  (F) -1.113336116e-004,  (F) 3.872959368e-005, 
 (F) 1.261828487e-004,  (F) -4.661084515e-005,  (F) -1.423536216e-004,  (F) 5.568385344e-005,  (F) 1.599053119e-004,  (F) -6.607541360e-005,  (F) -1.788955073e-004,  (F) 7.792071981e-005, 
 (F) 1.993796012e-004,  (F) -9.136358140e-005,  (F) -2.214103863e-004,  (F) 1.065566351e-004,  (F) 2.450376436e-004,  (F) -1.236615558e-004,  (F) -2.703077293e-004,  (F) 1.428492694e-004, 
 (F) 2.972631624e-004,  (F) -1.643001704e-004,  (F) -3.259422157e-004,  (F) 1.882043499e-004,  (F) 3.563785124e-004,  (F) -2.147618396e-004,  (F) -3.886006323e-004,  (F) 2.441828769e-004, 
 (F) 4.226317283e-004,  (F) -2.766882003e-004,  (F) -4.584891582e-004,  (F) 3.125093837e-004,  (F) 4.961841336e-004,  (F) -3.518892200e-004,  (F) -5.357213879e-004,  (F) 3.950821660e-004, 
 (F) 5.770988683e-004,  (F) -4.423548643e-004,  (F) -6.203074518e-004,  (F) 4.939867574e-004,  (F) 6.653306897e-004,  (F) -5.502708148e-004,  (F) -7.121445827e-004,  (F) 6.115143947e-004, 
 (F) 7.607173878e-004,  (F) -6.780402685e-004,  (F) -8.110094609e-004,  (F) 7.501878377e-004,  (F) 8.629731353e-004,  (F) -8.283145816e-004,  (F) -9.165526398e-004,  (F) 9.127977771e-004, 
 (F) 9.716840559e-004,  (F) -1.004036544e-003,  (F) -1.028295318e-003,  (F) 1.102454275e-003,  (F) 1.086306253e-003,  (F) -1.208501525e-003,  (F) -1.145628670e-003,  (F) 1.322659441e-003, 
 (F) 1.206166486e-003,  (F) -1.445443853e-003,  (F) -1.267815903e-003,  (F) 1.577410130e-003,  (F) 1.330465626e-003,  (F) -1.719158978e-003,  (F) -1.393997126e-003,  (F) 1.871343361e-003, 
 (F) 1.458284949e-003,  (F) -2.034676782e-003,  (F) -1.523197064e-003,  (F) 2.209943215e-003,  (F) 1.588595259e-003,  (F) -2.398009055e-003,  (F) -1.654335572e-003,  (F) 2.599837549e-003, 
 (F) 1.720268763e-003,  (F) -2.816506294e-003,  (F) -1.786240826e-003,  (F) 3.049228537e-003,  (F) 1.852093531e-003,  (F) -3.299379264e-003,  (F) -1.917665004e-003,  (F) 3.568527309e-003, 
 (F) 1.982790329e-003,  (F) -3.858475146e-003,  (F) -2.047302188e-003,  (F) 4.171308542e-003,  (F) 2.111031512e-003,  (F) -4.509458993e-003,  (F) -2.173808165e-003,  (F) 4.875782918e-003, 
 (F) 2.235461634e-003,  (F) -5.273663042e-003,  (F) -2.295821738e-003,  (F) 5.707139526e-003,  (F) 2.354719349e-003,  (F) -6.181081523e-003,  (F) -2.411987110e-003,  (F) 6.701414415e-003, 
 (F) 2.467460163e-003,  (F) -7.275424993e-003,  (F) -2.520976870e-003,  (F) 7.912177622e-003,  (F) 2.572379530e-003,  (F) -8.623091494e-003,  (F) -2.621515082e-003,  (F) 9.422756688e-003, 
 (F) 2.668235799e-003,  (F) -1.033011286e-002,  (F) -2.712399954e-003,  (F) 1.137019361e-002,  (F) 2.753872479e-003,  (F) -1.257678073e-002,  (F) -2.792525579e-003,  (F) 1.399657508e-002, 
 (F) 2.828239331e-003,  (F) -1.569600131e-002,  (F) -2.860902245e-003,  (F) 1.777281566e-002,  (F) 2.890411781e-003,  (F) -2.037699959e-002,  (F) -2.916674839e-003,  (F) 2.375093920e-002, 
 (F) 2.939608199e-003,  (F) -2.831343623e-002,  (F) -2.959138912e-003,  (F) 3.485573260e-002,  (F) 2.975204652e-003,  (F) -4.507357611e-002,  (F) -2.987754012e-003,  (F) 6.337624172e-002, 
 (F) 2.996746751e-003,  (F) -1.059316351e-001,  (F) -3.002153987e-003,  (F) 3.182526296e-001,  (F) 5.030039583e-001,  (F) 3.182526296e-001,  (F) -3.002153987e-003,  (F) -1.059316351e-001, 
 (F) 2.996746751e-003,  (F) 6.337624172e-002,  (F) -2.987754012e-003,  (F) -4.507357611e-002,  (F) 2.975204652e-003,  (F) 3.485573260e-002,  (F) -2.959138912e-003,  (F) -2.831343623e-002, 
 (F) 2.939608199e-003,  (F) 2.375093920e-002,  (F) -2.916674839e-003,  (F) -2.037699959e-002,  (F) 2.890411781e-003,  (F) 1.777281566e-002,  (F) -2.860902245e-003,  (F) -1.569600131e-002, 
 (F) 2.828239331e-003,  (F) 1.399657508e-002,  (F) -2.792525579e-003,  (F) -1.257678073e-002,  (F) 2.753872479e-003,  (F) 1.137019361e-002,  (F) -2.712399954e-003,  (F) -1.033011286e-002, 
 (F) 2.668235799e-003,  (F) 9.422756688e-003,  (F) -2.621515082e-003,  (F) -8.623091494e-003,  (F) 2.572379530e-003,  (F) 7.912177622e-003,  (F) -2.520976870e-003,  (F) -7.275424993e-003, 
 (F) 2.467460163e-003,  (F) 6.701414415e-003,  (F) -2.411987110e-003,  (F) -6.181081523e-003,  (F) 2.354719349e-003,  (F) 5.707139526e-003,  (F) -2.295821738e-003,  (F) -5.273663042e-003, 
 (F) 2.235461634e-003,  (F) 4.875782918e-003,  (F) -2.173808165e-003,  (F) -4.509458993e-003,  (F) 2.111031512e-003,  (F) 4.171308542e-003,  (F) -2.047302188e-003,  (F) -3.858475146e-003, 
 (F) 1.982790329e-003,  (F) 3.568527309e-003,  (F) -1.917665004e-003,  (F) -3.299379264e-003,  (F) 1.852093531e-003,  (F) 3.049228537e-003,  (F) -1.786240826e-003,  (F) -2.816506294e-003, 
 (F) 1.720268763e-003,  (F) 2.599837549e-003,  (F) -1.654335572e-003,  (F) -2.398009055e-003,  (F) 1.588595259e-003,  (F) 2.209943215e-003,  (F) -1.523197064e-003,  (F) -2.034676782e-003, 
 (F) 1.458284949e-003,  (F) 1.871343361e-003,  (F) -1.393997126e-003,  (F) -1.719158978e-003,  (F) 1.330465626e-003,  (F) 1.577410130e-003,  (F) -1.267815903e-003,  (F) -1.445443853e-003, 
 (F) 1.206166486e-003,  (F) 1.322659441e-003,  (F) -1.145628670e-003,  (F) -1.208501525e-003,  (F) 1.086306253e-003,  (F) 1.102454275e-003,  (F) -1.028295318e-003,  (F) -1.004036544e-003, 
 (F) 9.716840559e-004,  (F) 9.127977771e-004,  (F) -9.165526398e-004,  (F) -8.283145816e-004,  (F) 8.629731353e-004,  (F) 7.501878377e-004,  (F) -8.110094609e-004,  (F) -6.780402685e-004, 
 (F) 7.607173878e-004,  (F) 6.115143947e-004,  (F) -7.121445827e-004,  (F) -5.502708148e-004,  (F) 6.653306897e-004,  (F) 4.939867574e-004,  (F) -6.203074518e-004,  (F) -4.423548643e-004, 
 (F) 5.770988683e-004,  (F) 3.950821660e-004,  (F) -5.357213879e-004,  (F) -3.518892200e-004,  (F) 4.961841336e-004,  (F) 3.125093837e-004,  (F) -4.584891582e-004,  (F) -2.766882003e-004, 
 (F) 4.226317283e-004,  (F) 2.441828769e-004,  (F) -3.886006323e-004,  (F) -2.147618396e-004,  (F) 3.563785124e-004,  (F) 1.882043499e-004,  (F) -3.259422157e-004,  (F) -1.643001704e-004, 
 (F) 2.972631624e-004,  (F) 1.428492694e-004,  (F) -2.703077293e-004,  (F) -1.236615558e-004,  (F) 2.450376436e-004,  (F) 1.065566351e-004,  (F) -2.214103863e-004,  (F) -9.136358140e-005, 
 (F) 1.993796012e-004,  (F) 7.792071981e-005,  (F) -1.788955073e-004,  (F) -6.607541360e-005,  (F) 1.599053119e-004,  (F) 5.568385344e-005,  (F) -1.423536216e-004,  (F) -4.661084515e-005, 
 (F) 1.261828487e-004,  (F) 3.872959368e-005,  (F) -1.113336116e-004,  (F) -3.192148136e-005,  (F) 9.774512490e-005,  (F) 2.607583920e-005,  (F) -8.535558016e-005,  (F) -2.108971026e-005, 
 (F) 7.410251211e-005,  (F) 1.686760457e-005,  (F) -6.392315110e-005,  (F) -1.332124544e-005,  (F) 5.475475883e-005,  (F) 1.036930731e-005,  (F) -4.653494641e-005,  (F) -7.937145412e-006, 
 (F) 3.920197347e-005,  (F) 5.956518106e-006,  (F) -3.269502715e-005,  (F) -4.365302366e-006,  (F) 2.695448023e-005,  (F) 3.107203629e-006,  (F) -2.192212757e-005,  (F) -2.131460955e-006, 
 (F) 1.754140054e-005,  (F) 1.392548734e-006,  (F) -1.375755888e-005,  (F) -8.498761645e-007,  (F) 1.051786002e-005,  (F) 4.674858276e-007,  (F) -7.771705827e-006,  (F) -2.137526789e-007, 
 (F) 5.470766887e-006
};

  *lenh0 = LP12_48K_LEN;           /* store 'number of coefficients' */
  *h0 = LP12_48khz_coeff;		/* store pointer to []-array */
}
#undef LP12_48K_LEN
/* ...................... End of fill_LP12_48kHz() ..................... */
// FILTER_12k48k_HW
#undef F

/* ************************* END OF FIR-LP.C ************************** */
